яет инициализировать объекты,

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

яет инициализировать объекты, как показано в следующем фрагменте программы. void mainO { CMessage Messagel; Messagel.Set (“Hello”); CMessage Message2 (Messagel); // Используется конструктор копирования CMessage Message3 = Messagel; // Используется конструктор копирования } Кроме того, компилятор автоматически вызывает конструктор копирования при передаче объекта класса в качестве параметра функции и при возврате функцией объекта класса. Поскольку компилятор вызывает конструктор копирования при каждой передаче объекта класса в функцию, объект класса нельзя передавать в качестве первого параметра в конструктор копирования. Необходимо вместо объекта класса передать ссылку на него. Передача объекта (если компилятор разрешит) послужит причиной бесконечной рекурсии. Если тип значения, возвращаемого функцией, является объектом класса, то при вызове функции компилятор генерирует временный объект этого класса и использует для его инициализации значение, определенное в операторе возврата return. Для выполнения инициализации компилятор также вызовет конструктор копирования. Конструктор преобразования Конструкто


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