Класс не может вести себя полиморфно для удаления объектов производного класса
Деструктор базового класса, не виртуальный, происходит, когда класс имеет функции virtual, но не деструктор virtual.
Присутствие функций virtual указывает, что класс предназначается для использования в качестве базового класса. Однако, если класс не имеет деструктора virtual, он не может вести себя полиморфно для удаления объектов производного класса.
Если указатель на этот класс относится к объекту производного класса, и вы используете указатель, чтобы удалить объект, только деструктор базового класса называется. Дополнительные средства, выделенные в производном классе, не высвобождены и могут вызвать утечку ресурсов.
Одна возможная фиксация должна всегда использовать деструктор virtual в классе, который содержит функции virtual.
| Группа: Объектно-ориентированный |
| Язык: C++ |
| Значение по умолчанию: на |
Синтаксис командной строки: DTOR_NOT_VIRTUAL |
| Влияние: носитель |