Страницы

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

суббота, 14 декабря 2019 г.

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

#cpp


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


Ответы

Ответ 1



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

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

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