8.5.5 Конструкторы

8.5.5 Конструкторы

Функция член с именем, совпадающим с именем ее класса, называется конструктором. Если класс имеет конструктор, то он вызывается для каждого объекта этого класса перед тем, как этот объект будет калибо использован, см. #8.6.

Конструктор не может быть virtual или friend.

Если класс имеет базовый класс или объекты члены с контрукторами, их конструкторы вызываются до конструктора проиводного класса. Первым вызывается конструктор базового класа. Объяснение того, как для таких конструктороу могут специфицироваться параметры , см. в #10, а того, как контрукторы могут использоваться для управления свободной пмятью, см. в #8.5.8.

Объект класса с конструктором не может быть членом обединения.

Для конструктора нельзя задать возвращаемое значение, как нельзя использовать оператор return в теле конструктора.

Конструктор может явно применяться для создания новых объектов его типа используя синтаксис

typedef-имя ( список_параметров opt )

Например,

complex zz = complex (1,2.3); cprint (complex (7.8,1.2));

Объекты, созданные таким образом, не имеют имени (если только конструктор не использован как инициализатор, как это было с zz выше), и их время жизни ограничено областью видмости, в которой они созданы.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

2. Конструкторы и деструкторы

Из книги автора

2. Конструкторы и деструкторы Конструкторы и деструкторы являются специализированными формами методов. Используемые в связи с расширенным синтаксисом стандартных процедур New и Dispose конструкторы и деструкторы обладают способностью размещения и удаления динамических


R.12.1 Конструкторы

Из книги автора

R.12.1 Конструкторы Конструктором называется функция-член, имя которой совпадает с именем класса, он используется для построения значений, имеющих тип данного класса. Если в классе есть конструктор, то каждый объект этого класса перед произвольным использованием будет


R.15.3 Конструкторы и деструкторы

Из книги автора

R.15.3 Конструкторы и деструкторы Когда управление передается из точки запуска особой ситуации обработчику, то вызываются деструкторы для всех автоматических объектов, построенных с момента входа в проверяемый-блок.Если объект не был построен полностью, то деструкторы


Статические конструкторы

Из книги автора

Статические конструкторы Вы уже знаете о том, что конструкторы используются для установки значения данных типа во время его создания, Если указать присваивание значения элементу статических данных в рамках конструктора уровня экземпляра, вы обнаружите, что это


Конструкторы

Из книги автора

Конструкторы Mediachance Multimedia Builder MP3Сайт: http://www.mmbgroup.comРазмер: 20 МбСтатус: SharewareЦена: $60Все мы в детстве играли в конструкторы – от простых кубиков до груды железяк под названием «Школьный конструктор № 1». В эпоху компьютеров конструкторы никуда не делись (ведь компьютер и


Конструкторы и деструкторы класса

Из книги автора

Конструкторы и деструкторы класса Обычно при создании объекта класса необходимо провести начальную инициализацию объекта, например выделить участок памяти для размещения каких-либо данных, связанных с этим объектом. После окончания использования объекта выделенную


Конструкторы класса

Из книги автора

Конструкторы класса Для класса CObject определены два конструктора. Первый конструктор используется по умолчанию и не имеет параметров. Именно этот конструктор вызывается конструкторами классов, наследованных от CObject:CObject();Второй конструктор класса CObject называется


1.10 Конструкторы

Из книги автора

1.10 Конструкторы Определение ostream как класса сделало члены данные зарытыми. Только функция член имеет доступ к закрытым членам, поэтому надо предусмотреть функцию для инициализации. Такая функция называется конструктором и отличается тем, что имеет то же имя, что и ее


5.5 Конструкторы и Деструкторы

Из книги автора

5.5 Конструкторы и Деструкторы Если у класса есть конструктор, то он вызывается всегда, когда создается объект класса. Если у класса есть деструктор, то он вызывается всегда, когда объект класса уничтожается. Объекты могут создаваться как:1. Автоматический объект:


6.3.1 Конструкторы

Из книги автора

6.3.1 Конструкторы Альтернативу использованию нескольких функций (перегрженных) составляет описание конструктора, который по заданнму double создает complex. Например:class complex (* // ... complex(double r) (* re=r; im=0; *) *);Конструктор, требующий только один параметр, необязтельно вызывать


7.2.6 Конструкторы и Деструкторы

Из книги автора

7.2.6 Конструкторы и Деструкторы Для некоторых производных классов нужны конструкторы. Если у базового класса есть конструктор, он должен вызыватся, и если для этого конструктора нужны параметры, их надо предоставить. Например:class base (* // ... public: base(char* n, short t); ~base(); *);class derived :


8.5.5 Конструкторы

Из книги автора

8.5.5 Конструкторы Функция член с именем, совпадающим с именем ее класса, называется конструктором. Если класс имеет конструктор, то он вызывается для каждого объекта этого класса перед тем, как этот объект будет калибо использован, см. #8.6.Конструктор не может быть virtual или


Наследование и конструкторы

Из книги автора

Наследование и конструкторы Ранее не показанная процедура создания (конструктор) для класса POLYGON может иметь видmake_polygon (vl: LINKED_LIST [POINT]) is-- Создание по вершинам из vl.requirevl.count >= 3do...Инициализация представления многоугольника по элементам из vl ...ensure-- vertices и vl состоят из


30. Конструкторы и деструкторы

Из книги автора

30. Конструкторы и деструкторы Конструкторы и деструкторы являются специализированными формами методов. Используемые в связи с расширенным синтаксисом стандартных процедур New и Dispose конструкторы и деструкторы обладают способностью размещения и удаления динамических