Здравствуйте, _AK_, Вы писали:
class Parent
{
public:
Parent(){};
virtual ~Parent(){};
private:
Parent(const Parent&);
Parent& operator=(const Parent&);
};
class Child: public Parent
{
public:
Child(): m_Pointer(new int) {}
virtual ~Child()
{
delete m_Pointer;
}
private:
int* m_Pointer;
Child(const Child&);
Child& operator=(const Child&);
};
int main()
{
Parent* obj = new Child();
delete obj; // <- если тут не вызовется деструктор класса Child, то у нас будет mem-leak.
}
так ИМХО будет вернее — деструктор Parent вызоветься всегда, ведь мы же удаляем
Parent*.
Невозможное мы сделаем сегодня — чудо займет немного больше времени. /Аноним/