Когда базовый класс используется для создания полиморфной иерархии классов (то есть, есть производные классы, и они могут быть доступны через указатель или ссылку на базовый класс), и при этом предполагается удаление объектов производных классов через указатель на базовый класс. Без виртуального деструктора вызов delete
через указатель на базовый класс приведет к вызову деструктора только базового класса, что может вызвать утечки памяти или некорректное поведение, так как деструкторы производных классов не будут вызваны.
c
Если деструктор базового класса не объяв
Когда базовый класс используется для создания полиморфной иерархии классов (то есть, есть производные классы, и они могут быть доступны через указатель или ссылку на базовый класс), и при этом предполагается удаление объектов производных классов через указатель на базовый класс. Без виртуального деструктора вызов delete
через указатель на базовый класс приведет к вызову деструктора только базового класса, что может вызвать утечки памяти или некорректное поведение, так как деструкторы производных классов не будут вызваны.
c
Если деструктор базового класса не объяв
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.