Почему деструктор полученного класса не называется, когда я удаляю объект через указатель базового класса?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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