Ответы на экзаменн-е вопросы за 1-й курс. Препод- Рудой И.Б / Ответы / 04 Понятие полиморфизма в Срр. Перегрузка функций в Срр. Примеры
..doc04 Понятие полиморфизма в Срр. Перегрузка функций в Срр. Примеры.
Полиморфизм
В переводе с греческого polymorphos - многообразный. Если один и тот же объект может по-разному использоваться, в зависимости от обстоятельств, то он обладает полиморфизмом. В какой-то степени свойствами полиморфизма обладают, например, автомобили-амфибии - используются для передвижения и по суше, и по воде. Чтобы достичь таких "чудес" в ООП используют "ранее" и "позднее связывание".
В результате получаются функции элементы, обладающие полиморфизмом, которые ведут себя по-разному, за счет своих различных свойств.
Например, как функция элемент draw():
rectangle.draw(); jigsaw.draw();
Перезагрузка функций
Язык C++ позволяет осуществлять перезагрузку фуннкций, делая возможным написание многих функций с одним именем (с разным набором параметром). Все имена фунций C++ закодированы в низкоуровневые метки ассемблера (этот процесс известен как mangling). c++filt совершает обратное действие: низкоуровневые имена переводятся (demangling) в имена, понятные пользователю, так что линкер избегает конфликта между перезагруженными функциями.