Re: Бывают ли вирт. конструкторы и деструкторы?
От: _nn_ www.nemerleweb.com
Дата: 12.10.04 13:37
Оценка:
Здравствуйте, momart, Вы писали:

M>Есть ли виртуальные конструкторы? А деструкторы? И если есть, то зачем это надо? Спасибо.

Конструкторы нет.
Деструкторы да.
Для этого:
class a { a(){}};
class b : public a { ~b(){} };
class c { virtual ~c(){} };
class d : public d { virtual ~d(){} };

b* pb = new b;
a* pa = pb;
delete pa; // дестуктор b не вызовется !

d* pd = new d;
c* pc = pd;
delete pc; // дестуктор d вызовется
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.