BaseClass * p = new DerivedClass();
delete p;
Я знаю, что вторая строка вызовет деструктор базового класса, если у него нет виртуального деструктора, и деструктора производного класса, если он есть, но delete
должным образом освободит память (скажем, объект BaseClass
занимает 8 байтов пространства и DerivedClass
one 12 - освободит ли он 8 или 12 байт) и избавится от объекта в любом случае?