Помощь - Поиск - Пользователи - Календарь
Полная версия: Полиморфизм
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Vania
Определить и описать иерархию объектов: тест, экзамен, экзамен устный, эк-замен письменный, испытание. Для каждого объекта описать соответствующие поля, характеризующие объект, и методы, позволяющие заполнять и получать значения каждого из полей.
Описать в качестве объекта односвязный список из описанных потомков-объектов. Для данного списка реализовать следующие методы:
• инициализация списка;
• добавление объекта в список;
• удаление объекта из списка;
• просмотр элементов списка и вывод на экран элементов списка с соответст-вующими полями для каждого объекта;
• удаление списка.

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

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

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

...
end;


Это полиморфности не нарушит...
Vania
Понял,спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.