#2 16.10.06 02:40
Re: Зачем нужен виртуальный деструктор?
чтобы вызывались соответствующие деструкторы для производных объектов
Код: cpp:
class One { virtual ~One(); }; class Two : public One { ~Two(); }; ... One *p = new Two(); delete p; // вызовется Two::~Two ...
Но если бы One::~One был невиртуальным, то
Код: cpp:
... One *p = new Two(); delete p; // вызовется One::~One .. ...
.. что в общем случае приведет к некорректному разрушению объекта типа Two
Исправлено Fatboy (16.10.06 02:42)
Offline

