Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.06.2011, 15:50
medvedeva medvedeva вне форума
Прохожий
 
Регистрация: 27.06.2011
Сообщения: 2
Репутация: 10
По умолчанию Нужна помощь в описании класов. контейнер на базе очереди

тема:Объектная реализация контейнера на основе комбинированной структуры «Упорядоченный массив динамических очередей»
есть начало, но его нужно переделать так, чтобы выполнялось след:
- информационные объекты являются квартирами дома с парой свойств Номер и Площадь
- квартиры объединяются в рамках объекта Дом (свойство - НомерДома) на основе динамической очереди
- дома объединяются в рамках объекта Улица (свойство - Название) на основе упорядоченного массива.

Для этой задачи надо спроектировать набор необходимых классов, имена которых, а также имена их свойств и методов должны
соответствовать поставленной задаче.
- в классах ввести методы доступа к закрытым свойствам
- использование динамической версии массива не является обязательным
вот начало:
Код:
uses
  classes,
  SysUtils;
 
type
  T = integer;
  TypizFile = file of T; // типизированный файл
 
  TQueueItem = class // класс - элемент очереди
  private
    Data: T; // мои данные
    Next: TQueueItem; // указатель на следующий элемент
  private
    constructor Create(value: T); // создание элемента очереди
  end;
 
  TQueue = class // класс очередь
  private
    Marker: T; // для метки очередей, для их поиска
    First, Last: TQueueItem; // указатели начала и конца
 
  public
    constructor Create; // инициализация очереди
    destructor Free;
    procedure Put(value: T); // добавление элемента
    function Get: T; // удаление
    procedure Print; // просмотр
    function Empty: boolean; // проверка на пустоту
 
    // procedure Save (value: T); //сохранение в файл
    // procedure Load (value: T); // загрузка из файла
  end;
 
  {Класс TCont обьявляем контейнерным классом}
  TCont = class // класс-контейнер
  private // свойства
    mas: array of TQueue; // динамический массив
    procedure Add(theQueue: TQueue);
 
  public
    Constructor Create; // создание массива указателей очередей
    Procedure Add_main; // добавить новые очереди в контейнер
    Procedure Delete_main;
    procedure Scan_main;
    // procedure Save (value: T); //сохранение контейнера в файл
    // procedure Load (value: T); // загрузка из файла
  end;
 
 
{========================================}
// инициализация элемента
constructor TQueueItem.Create(value: T);
begin
  Data := value;
  next := nil;
end;
 
{==========================================}
// инициализация очереди
Constructor TQueue.Create;
begin
  first := nil; last := nil; // создаем пустую очередь
end;
// Освобождаем память, которую занимала очередь
destructor TQueue.Free;
begin
  while not Empty do Get; // удаляем все элементы
end;
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 29.06.2011 в 15:54.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025