![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверьте меня, пожалуйста
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 минут тестовый проектик и сам убедишься.