Страницы

Поиск по вопросам

пятница, 9 ноября 2018 г.

Зачем нужны виртуальные функции C++

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


Ответ

По поводу виртуального деструктора - он нужен всегда, если есть хоть одна виртуальная функция, иначе не будут вызваны все деструкторы. Зачем нужны виртуальные функции? Для обеспечения полиморфизма - одного из базовых китов ООП, чтобы по ссылке/указателю на объект не определять его тип самостоятельно с помощью if'ов, а дать это делать компилятору и/или в runtime. Можно ещё в википедии почитать

Комментариев нет:

Отправить комментарий