6.5.2. Классы

На верх  Назад  Вперёд

В действительности невидимое объявление конструктора класса следующее:

constructor init(_vmt: pointer; flag : longint; ..);

_vmt – это любо nil, если вызывается из экземпляра класса или если вызывающий наследованный конструктор, иначе точки для адреса таблицы виртуальных методов.

Здесь flag – это ноль, если конструктор вызван из экземпляра объекта или экземпляра спецификатора, иначе flag равен 1.

Созданные экземпляры (self) возвращаются в аккумулятор

Объявление деструктора следующее:

destructor done(_self : pointer; flag : longint …);

_self – это адрес экземпляра объекта.

flag – это ноль, если деструктор вызван из экземпляра объекта или экземпляра спецификатора, иначе flag равен 1.