oisyReport { static NoisyRepor

Автор admin Воскресенье, 7 июня 2009 11:32

oisyReport { static NoisyReport nr: NoisyReportO {} // Закрытый конструктор 354 Глава 7 • Обобщенные контейнеры NoisyReport & operatorsNoisyReport &): // Запрещено NoisyReport (const NoisyReport&); // Запрещено public: ~NoisyReport() { cout « “\n——..—-\n” « “Noisy creations: ” « Noisy::create « “\nCopy-Constructions: ” « Noisy::copycons « “\nAssignments: ” « Noisy::assign « “\nDestructions: ” « Noisy::destroy « endl: } #endif // N0ISY_H ///:- II: C07:Noisy.cpp{0} #include “Noisy.h” long Noisy::create = 0. Noisy::assign = 0. Noisy::copycons = 0, Noisy::destroy = 0; NoisyReport NoisyReport::nr; III:- Каждый объект Noisy обладает собственным идентификатором, а все операции создания, присваивания, конструирования копий и уничтожения отслеживаются в статических переменных. Идентификатор id инициализируется на основании счетчика create в конструкторе по умолчанию; копирующий конструктор и оператор присваивания берут свои значения id из копируемого/присваиваемого объекта. В операторной функции operator= присваивание производится уже инициализированному объекту, поэтому прежнее значение id выводится пере


Комментарии закрыты.