Почему деструктор полученного класса не называется, когда я удаляю объект через указатель базового класса?C++

Программы на C++. Форум разработчиков
Anonymous
Почему деструктор полученного класса не называется, когда я удаляю объект через указатель базового класса?

Сообщение Anonymous »

Projectile - это подкласс Node .
Я хочу, чтобы навесок Destructor был вызван.

Примечание: в сценарии реальной жизни у меня есть список узла*, которые являются снарядом , Player или врага , каждый со своим собственным деструктором.

Node не имеет указанного деструктора в файле .h (я предполагаю, что он использует по умолчанию.)

Node* p = new Projectile();
delete(p); //Projectile destructor is never called


Подробнее здесь: https://stackoverflow.com/questions/351 ... -object-th

Вернуться в «C++»