Вызов - конструктор - Большая Энциклопедия Нефти и Газа, статья, страница 4
"Подарки на 23-е февраля, это инвестиции в подарки на 8-е марта" Законы Мерфи (еще...)

Вызов - конструктор

Cтраница 4


Конструкторы объектов-элементов вызываются в той последовательности, в которой объявлены объекты. При наследовании конструкторы базового класса вызываются в той последовательности, в которой указано наследование, и до вызова конструктора объекта производного класса.  [46]

Заметим, что конструктор копии должен использовать вызов по ссылке, а не вызов по значению. В противном случае вызов конструктора копии приведет к бесконечной рекурсии, потому что при вызове по значению должна быть создана копия объекта, передаваемого конструктору копии, что приводит снова к вызову конструктора копии.  [47]

Экземплярами класса являются объекты. Объекты создаются вызовом конструктора, имеющего, как правило, имя Create. В классе может также присутствовать деструктор, вызываемый при уничтожении объекта и освобождении занимаемой им памяти. Подробнее о конструкторах и деструкторах см. в разд.  [48]

С другой стороны, сериализация поддерживает механизм динамического создания объектов неизвестного заранее типа. Например, приложение должно сохранять и восстанавливать некоторое количество объектов различного типа. Естественно, что для вызова соответствующего конструктора при восстановлении объекта, необходимо точно знать тип создаваемого объекта. Механизм сериализации делает это за программиста, сохраняя необходимую информацию самостоятельно. Единственное, что требуется - все классы сохраняемых и восстанавливаемых объектов должны базироваться на классе CObject и обеспечивать систему соответствующей информацией, используя макросы DECLARE SERIAL и IMPLEMENT SERIAL при объявлении и в реализации соответственно.  [49]

Параметр Curr является объектом класса CCurrency. При каждом вызове функции он должен создаваться и инициализироваться с помощью объекта, передаваемого в функцию. Для инициализации параметра компилятор инициализирует вызов конструктора копирования, определенного явно или сгенерированного компилятором.  [50]

Конструктор производного класса всегда сначала вызывает конструктор своего базового класса для задания начальных значений тем элементам производного класса, которые идентичны элементам базового класса. Если конструктор производного класса отсутствует, то конструктор по умолчанию производного класса вызывает конструктор базового класса. Деструкторы вызываются в последовательности, обратной вызовам конструкторов, так что деструктор производного класса вызывается раньше соответствующего деструктора базового класса.  [51]



Страницы:      1    2    3    4