Языки программирования - концепции и принципы

Когда база данных удаляется, будет


Airplanes a2;                                //current_airplanes = О

Когда база данных удаляется, будет выполнен код деструктора (не показанный). Можно определить несколько конструкторов, которые перегружаются на сигнатурах параметров:

class Airplanes {

public:

     Airplanes(int i = 0): current_airplanes(i) {};

C++

     Airplanes(int i, int j): current_alrplanes(i+j) {};

     ~Airptartes();



};

Airplanes a3(5,6);                       // current_airplanes = 11

В языке C++ также есть конструктор копирования (copy constructor), который дает возможность программисту задать свою обработку для случая, когда объ­ект инициализируется значением существующего объекта или, в более общем случае, когда один объект присваивается другому. Полное определение кон­структоров и деструкторов в языке C++ довольно сложное; более подробно см. гл. 12 справочного руководства по языку C++.

     В языке Ada 95 явные конструкторы и деструкторы обычно не объявля­ются. Для простой инициализации переменных достаточно использовать зна­чения по умолчанию для полей записи:

type Airplanes is tagged

     record

          Current_Airplanes: Integer := 0;

      end record;

Ada

или дискриминанты (см. раздел 10.4):

type Airplanes(lnitial: Integer) is tagged

     record

         Current_Airplanes: Integer := Initial;

      end record;

Программист может определить свои обработчики, порождая тип из абстрак­тного типа, называемого управляемым (Controlled). Этот тип обеспечивает аб­страктные подпрограммы для Инициализации (Initialization), Завершения (Finalization) и Корректировки (Adjust) для присваивания, которые вы можете заместить нужными вам программами. За деталями нужно обратиться к пакету Ada. Finalization, описанному в разделе 7.6 справочного руководства по языку Ada.

Class-wide-объекты

Память распределяется для каждого экземпляра класса:


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