Язык программирования C++ от Страуструпа

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


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

[1]    автоматический, который создается каждый раз, когда его описание встречается при выполнении программы, и уничтожается по выходе из блока, в котором он описан;

[2]    статический, который создается один раз при запуске программы и уничтожается при ее завершении;

[3]    объект в свободной памяти, который создается операцией new и уничтожается операцией delete;

[4]    объект-член, который создается в процессе создания другого класса или при создании массива, элементом которого он является.

 Кроме этого объект может создаваться, если в выражении явно используется его конструктор ($$7.3) или как временный объект ($$R.12.2). В обоих случаях такой объект не имеет имени. В следующих подразделах предполагается, что объекты относятся к классу с конструктором и деструктором. В качестве примера используется класс table из $$5.3.1.



Содержание раздела