Вопрос:
Существует ли перегрузка операторов в Turbo Pascal'е?
Если нет, то объяснить почему.
Если да, то привести примеры и назвать самую перегруженную операцию.
Цитата
Существует ли перегрузка операторов в Turbo Pascal'е?
Нет, в
Турбо Паскале - не существует... Почему? Потому что такая возможность не была заложена авторами языка...
Да? Тогда перегрузи мне операцию сложения двух заданных мной структур? Сделаешь? На Турбо Паскале? А я посмотрю... И заодно приведи определение, что ТЫ подразумеваешь под перегрузкой операций...
Люди, не стесняйтесь, напишите всё, что думаете или знаёте по данному вопросу.
Не одному же
volvo всё время отвечать.

На твои вопросы я больше отвечать не собираюсь...
Кому-то еще не нравится что я отвечаю на вопросы?
мисс_граффити
8.10.2007 19:03
Цитата(Neznaika @ 8.10.2007 15:05)

volvo - ответ неверный.
Хммм......
Читаем
википедию (особое внимание табличке внизу статьи... хотя она и не совсем корректна, пожалуй... Free Pascal в ней не упоминается, поэтому совершенно непонятно, что они подразумевают под паскалем).
Цитата
назвать самую перегруженную операцию.
Это вообще как? У которой самое большое количество вариантов перегрузки? Или что?
И вообще, о чем речь???
Допустим, в паскале есть
integer+integer - сумма
string+string - конкатинация
ты это понимаешь под перегрузкой?
мисс_граффити - правильно.
Правильно - операция + - сложение чисел, конкатенация(или опять же сложение) строк,
объединение множеств - эта операция перегружена.
Добавлено через 17 мин.
Сегодня в газете прочитал, что меняется формат высшего образования. Стандартом будет - неполное высшее(бакалавриат - 4 года). Потом, чтобы добраться до аспирантуры, нужно поступить в магистратуру(2 года).
Вот будут люди 4 года по 3 месяца "изучать" каждый предмет, а потом экзаменационная комиссия задаст им
вопрос наподобие этого и легко отсеит сказавших: "Нет, перегрузка не существует."
Не знаю, что подумал volvo, но я его ответ не засчитал. У него ответ с объяснением, но этот ответ не подходит.
Вопрос был о существовании.
Если его задать по-другому, а именно так:
Существует ли встроенная перегрузка операций и может ли программист сам перегружать операции,
то ответами разумеется будут - существует и не может.
Мне кажется - это очень важный вопрос. Если знать об этой самой перегрузке операций, то например не будет
ошибок например при выборе между div и / в Паскале или не появится вопрос при целочисленном или вещественном делении в C.
-------------------------------------------------------------------------------------------------------------------------------------
Кстати, этих перегруженных операций довольно много, а некоторые совсем "не видны невооружённым взгядом".
мисс_граффити
8.10.2007 19:37
вопрос некорректный.
одно дело - "существуют ли перегруженные операторы", другое - "существует ли перегрузка".
по аналогии - "существуют ли процедуры с переменным числом параметров" и "существует ли написание процедур с переменным числом параметров".
Существует ли перегрузка операторов - следует читать существует ли вообще.
Я выше не зря написал про экзаменационную комиссию.
В литературе всегда упоминается перегрузка операторов, как термин, но речь при этом идёт(опять же всегда) лишь о перегруженом символе операции. Что такое операция - это конструкция вида:
операнд_1 символ_операции операнд_2
при этом один из операндов может отсутствовать. Один и тот же символ операции используется в разных операциях.
Здесь просто слово оператор используется традиционно некорректно.
P.S.
А про процедуры тожно так и ответить:
существуют Read и Write, самим создать такие процедуры нельзя.
И естественные языки сильно перегружены. Это и плохо и хорошо.
мисс_граффити
8.10.2007 20:06
вот такое определение:
Цитата
Что такое операция - это конструкция вида:
операнд_1 символ_операции операнд_2
уж точно ни одна комиссия не пропустит.
яркий пример - в ЛИСПе совсем другая форма записи.
Код
+ 5 3
это что, уже не операция?
То ЛИСП, а это Паскаль. Можно ещё более абстрагироваться - операция это кортеж
<символ_операции, операнд_1, операнд_2>
Перегружается именно символ_операции.
-------------------------------------------------------------------------------------------------------------------------------------
Собственно для чего форум: обсудить и дать совет.
Нельзя же его считать только электронным справочником. Или считать, что знаешь всё,
а кто с этим не согласен, тот идиот.
Откуда например взялось понятие контекста?
Или например в ассемблере есть команды загрузки и сохранения, а для ASM86 мнемоника одна - MOV.
Есть сложные типы данных(массивы, записи), какие операции можно с ними проводить? Присваивание(здесь видна перегрузка :=).
AND-логический и AND-арифметический - это разные AND'ы, но что-то общее у них есть.
Что такое синтез и анализ и т.д. и т.п.
Цитата
Есть сложные типы данных(массивы, записи), какие операции можно с ними проводить? Присваивание(здесь видна перегрузка :=).
Ничего здесь не видно...
В следующий раз задавай вопросы
корректно, если хочешь получать корректные ответы... Перегрузка операций - это механизм,
позволяющий программисту переопределить определенную операцию для определенного типа данных... Вот в С++ (кстати, и в FPC тоже) я могу перегрузить операцию сложения для массивов, перегрузить оператор присваивания (т.е., сделать так, чтобы он вел себя НЕ ТАК как встроенный)... А то что ты написал - это базовая возможность языка, никакого отношения к перегрузке не имеющая...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.