![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#6
|
|||
|
|||
![]() Значит препод - дурак.
Классический подход к построению связанных списков - записи (record в паскале, struct в C/C++). Классы используются только там, где нет других возможностей (Java, например; там все - классы). А вот контейнер - это уже должен быть класс (хотя в последних версиях можно сделать и с помощью записей, благо теперь появилась возможности делать методы в записях (хотя я и противник этого). Да, для нормального функционирования еще надо написать правильный деструктор, который освободит память, занятую списком. На самом деле сделаем 2 метода: очистку (clear) и сам деструктор: Код:
procedure TFileCatalog.Clear; var Item : PFileItem; begin While FHead <> Nil Do Begin Item := FHead; FHead := FHead.Next; Dispose(Item); End; end; destructor TFileCatalog.Destroy; override; begin Clear; inherited; end; ЗЫ. TFail - это не файл, это ФЭЙЛ ![]() ![]() |