Будет ли это работать, или будет разрез (т.е. будет освобождена только память, соответствующая занимаемой базовым объектом, а не всего объекта Derived):Удаление указателя базы, указывающего на производный объект
Base* ptr = new Derived;
delete ptr;
Если нет, не так ли?
delete static_cast<Derived*>(ptr);
Если деструктор 'Base' является' virtual', все будет в порядке. Компилятор, скорее всего, предупредит вас, если это не так. – arne
Ах, конечно .. – d7samurai
http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors –