Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ответы на экзаменн-е вопросы за 1-й курс. Препод- Рудой И.Б / Ответы / 04 Понятие полиморфизма в Срр. Перегрузка функций в Срр. Примеры

..doc
Скачиваний:
41
Добавлен:
25.05.2014
Размер:
22.02 Кб
Скачать

04 Понятие полиморфизма в Срр. Перегрузка функций в Срр. Примеры.

Полиморфизм

В переводе с греческого polymorphos - многообразный. Если один и тот же объект может по-разному использоваться, в зависимости от обстоятельств, то он обладает полиморфизмом. В какой-то степени свойствами полиморфизма обладают, например, автомобили-амфибии - используются для передвижения и по суше, и по воде. Чтобы достичь таких "чудес" в ООП используют "ранее" и "позднее связывание".

В результате получаются функции элементы, обладающие полиморфизмом, которые ведут себя по-разному, за счет своих различных свойств.

Например, как функция элемент draw():

rectangle.draw(); jigsaw.draw();

Перезагрузка функций

Язык C++ позволяет осуществлять перезагрузку фуннкций, делая возможным написание многих функций с одним именем (с разным набором параметром). Все имена фунций C++ закодированы в низкоуровневые метки ассемблера (этот процесс известен как mangling). c++filt совершает обратное действие: низкоуровневые имена переводятся (demangling) в имена, понятные пользователю, так что линкер избегает конфликта между перезагруженными функциями.