Предварительное объявление классов

We use cookies. Read the Privacy and Cookie Policy

Предварительное объявление классов

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

Например:

type

AAA = class

b: BBB;

end;

BBB = class

a: AAA;

end;

Данный код вызовет ошибку компиляции, поскольку тип BBB в момент описания поля b еще не определен. В такой ситуации следует воспользоваться предварительным описанием класса в виде

ИмяКласса = class;

Предварительно описанный класс должен быть полностью описан в той же секции type:

type

BBB = class;

AAA = class

b: BBB;

end;

BBB = class

a: AAA;

end;