ез параметров инициализирует п

Автор admin Пятница, 15 мая 2009 11:32

ез параметров инициализирует переменную Buffer посредством пустой строки. Объект класса CMessage нельзя инициализировать, используя простое копирование членов класса, как это делается в классе CRectangle, поскольку он содержит переменные, являющиеся указателями на блок памяти. Для данного класса можно определить следующий конструктор копирования: // Реализация класса CMessage:-.CMessage О { Buffer = new char C\0′): // Инициализирует переменную Buffer посредством пустой строки } // Конструктор копирования CMessage::CMessage (const CMessage &Message) { Buffer – new char [strlen (Message.Buffer) + 1]; strcpy (Buffer, Message.Buffer): } CMessage:-.-CMessage О // Деструктор освобождает место в памяти { delete [] Buffer; } void CMessage::Display () // Вывод сообщения { cout « Buffer « ‘\n’; } void CMessage::Set (char *String) // Задает новую строку сообщения { delete [] Buffer; // Хранит строку сообщения // Конструктор по умолчанию // Конструктор копирования Конструкторы и деструкторы 463 Buffer – new char (strlen (String) + 1]; strcpy (Buffer. String); } Рассмотренный выше конструктор копирования позвол


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