Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверьте меня, пожалуйста


ProgRAMmer Dimonych ©   (2008-01-07 23:03:00) 

Снова вопрос по ООП. Итак, есть массив объектов (что-то типа списка объектов). Каждый из объектов в массиве принадлежит к одному из классов-наследников некоторого TAncestorClass=class(TObject).

При добавлении в массив объекта он создаётся приблизительно так:

FList[Index]:=TDescendantClass.Create;

но при этом, как уже было сказано:

FList:array of TAncestorClass;

и

TDescendantClass=class(TAncestorClass)
. . . . .
end;


Собственно вопрос. правильно ли я предполагаю, что при вызове метода Free сначала будет вызван деструктор, принадлежащий TDescendantClass, а не сразу деструктор TAncestorClass? Другими словами, будет ли деструктор наследника выполнен?


ProgRAMmer Dimonych   (2008-01-07 23:15:00) [1]

> trubin ©   (07.01.08 23:12) [1]

Спасибо.


trubin   (2008-01-07 23:12:00) [2]


> Другими словами, будет ли деструктор наследника выполнен?


Будет. Напиши за 5 минут тестовый проектик и сам убедишься.


Наверх

Титульная страница Поиск, карта сайта Написать письмо