Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Деструктор класса


Автор: vdm 9.1.2010, 18:29
Скажите, уважаемые знатоки... Правильным ли является следующее: деструктор класса это специальная ф-ция, которая вызывается перед уничтожением всех объектов класса. На тот момент, когда действие выполнения находится в деструкторе, все объекты находятся в целости и сохранности и ими можно манипулировать. В данном примере, queue<string>qQueue также можно обработать в деструкторе. Верно?

Код

class cClass
{
public:
    cClass() {};
    ~cClass() { printf("%d", qQueue.size()); };
    queue<string>qQueue;
};

Автор: Earnest 9.1.2010, 18:39
Да, сначала выполняется "тело" деструктора, затем утичтожаются embeded объекты, затем вызываются деструкторы базовых классов в порядке, обратном их объявлению.

Автор: vdm 9.1.2010, 18:52
Большое спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)