Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Магистратура Языки программирования С,C++ / Презентация №8 Наследование, перегрузка, переопределение.pptx
Скачиваний:
10
Добавлен:
17.03.2024
Размер:
4.93 Mб
Скачать

Конструкторы &

Деструкторы

Конструктор

ы

 

Конструктор класса всегда работает в предположении, что его дочерние

 

классы еще не созданы, поэтому он не имеет права вызывать функции,

 

определенные в них. И для виртуальной функций ему ничего не остается,

 

как только вызвать то, что определено в нем самом. Получается, что

 

механизм виртуальных функций тут как-бы не работает, так как таблица

 

виртуальных функций дочернего класса еще не перекрыла текущую

 

таблицу.

Деструкторы

 

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

32

Виртуальные методы в конструкторе и деструкторе

33

Спасибо за внимание

-