TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

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

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

             Для конструкторов параметр таблицы виртуальных  методов  со-
        держит  смещение таблицы виртуальных методов для запоминания поля
        Self таблицы виртуального метода, чтобы инициализировать Self.

             Более того, если конструктор вызывается для размещения дина-
        мического  объекта  с помощью расширенного синтаксиса стандартной
        процедуры New,  через параметр Self передается указатель nil. Это
        заставляет конструктор размещать новый динамический объект, адрес
        которого передается вызывающей программе через DX:AX при возврате
        из конструктора.  Если конструктор не может разместить объект, то
        в DX:AX возвращается пустой указатель nil.  (См. далее "Обнаруже-
        ние ошибок конструктора").

             Наконец, если  конструктор вызывается с использованием уточ-
        ненного идентификатора метода (т.е.  идентификатора типа объекта,
        за которым следуют точка и идентификатор метода),  то в параметре
        таблицы виртуальных методов передается нулевое значение.  Это яв-
        ляется указанием конструктору на то, что ему не следует инициали-
        зировать поле Self таблицы виртуальных методов.  Для деструкторов
        нулевое значение параметра таблицы виртуальных  методов  означает
        обычный вызов, а ненулевое указывает, что деструктор был вызван с
        использованием  расширенного  синтаксиса  стандартной   процедуры
        Dispose.  Это  заставляет деструктор удалить Self непосредственно
        перед возвратом (размер Self определяется из первого слова Self в
        ТВМ).

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz