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