![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Rei-li |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Женский Репутация: ![]() ![]() ![]() |
Здравствуйте.
Проверьте, пожалуйста, правильно ли выполнено задание: Реализуйте заданную структуру данных (двусвязный список целых чисел) в виде класса (набора классов). Не используйте стандартные классы .NET для представления коллекций ( разрешается использование только массивов).
|
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата (расскажите, пожалуйста, я на правильном пути?) На самом деле, возможных решений проблемы - 2 (кроме варианта с автоудалением экземпляра класса из памяти).1) ограничить типы, с которыми сможет работать TListDual (скажем, либо это встроенные типы, либо наоборот, только классы), и уже опираясь на это, ибо ничего не вызывать в деструкторе TList, либо вызывать-таки деструктор хранимого объекта. На самом деле решение очень плохое, какая же тогда это обобщенная реализация, если накладываются такие ограничения. 2) каким-то образом в рантайме проверять, нужно ли вызывать деструктор хранимого объекта, или нет. Вот это уже лучше: Uses ..., TypInfo; Ну, а по поводу печати - я бы сделал так: если тебе надо работать с каким-то типом, то позаботься, чтобы для этого типа существовала процедура, печатающее значение. procedure PrintMe(Obj : твой_тип); overload; // Cкажем, для Integer-ов: А все вызовы write(inf) внутри TListDual - заменить на вызовы PrintMe(inf)... Сообщение отредактировано: IUnknown - 21.09.2011 10:44 |
![]() ![]() |
![]() |
Текстовая версия | 6.08.2025 22:34 |