Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Полиморфизм

Автор: Vania 19.05.2007 22:39

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

Не могу разобраться, каким образом описать список из описанных потомков-объектов и как
потом с ним оперировать (с элементами-объектами)..
Прошу помощи...

Автор: volvo 19.05.2007 22:48

В чем проблема? Хранишь в поле Data указатель на базовый тип:

Type
PTBaseObj = ^TBaseObj;
TBaseObj = object
...
end;
TDerivedObj = Object(TBaseObj)
...
end;

PITem = ^TItem;
TItem = object
Data: PTBaseObj;
next: PItem;

...
end;


Это полиморфности не нарушит...

Автор: Vania 20.05.2007 15:34

Понял,спасибо!