5.5 Конструкторы и деструкторы.
Если у класса есть конструктор, он вызывается всякий раз при
создании объекта этого класса. Если у класса есть деструктор,
он вызывается всякий раз, когда уничтожается объект этого класса.
Объект может создаваться как:
- [1] автоматический, который создается каждый раз, когда его
описание встречается при выполнении программы, и уничтожается
по выходе из блока, в котором он описан;
- [2] статический, который создается один раз при запуске программы
и уничтожается при ее завершении;
- [3] объект в свободной памяти, который создается операцией new
и уничтожается операцией delete;
- [4] объект-член, который создается в процессе создания другого
класса или при создании массива, элементом которого он
является.
Кроме этого объект может создаваться, если в выражении явно
используется его конструктор ($$7.3) или как временный объект
($$R.12.2). В обоих случаях такой объект не имеет имени. В следующих
подразделах предполагается, что объекты относятся к классу с
конструктором и деструктором. В качестве примера используется
класс table из $$5.3.1.