![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
medvedeva |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: ![]() ![]() ![]() |
тема:Объектная реализация контейнера на основе комбинированной структуры «Упорядоченный массив динамических очередей»
есть начало, но его нужно переделать так, чтобы выполнялось след: - информационные объекты являются квартирами дома с парой свойств Номер и Площадь - квартиры объединяются в рамках объекта Дом (свойство - НомерДома) на основе динамической очереди - дома объединяются в рамках объекта Улица (свойство - Название) на основе упорядоченного массива. Для этой задачи надо спроектировать набор необходимых классов, имена которых, а также имена их свойств и методов должны соответствовать поставленной задаче. - в классах ввести методы доступа к закрытым свойствам - использование динамической версии массива не является обязательным вот начало: uses заранее спасибо! Сообщение отредактировано: Lapp - 29.06.2011 22:04 |
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не поверишь, достаточно заменить Record на Class и описать конструктор:
type, функция Apt больше не нужна. Но потребуется внести еще два изменения: 1) заполнение очереди теперь надо делать так: with Hs_02 do2) деструктор очереди примет вот такой вид: destructor TQueue.Destroy; А вообще мне очень не нравится, когда начинают накладывать ограничения. Задача сделать это на Дельфи? Какие могут быть "... использовать нельзя"? Всё, что доступно в языке, должно использоваться. Иначе тут же начинается изобретение костылей из-за ограничений вместо собственно решения задачи. Вот зачем, спрашивается, делать Apts классом? Просто чтобы было? Чтобы "крутое ООП" реализовать, ни шагу без классов? Смысла в этом ровно ноль. С записями я могу не беспокоиться об удалении из кучи, ибо записи там не создавались. В случае классов я должен еще и следить за тем, чтобы где-то в другом месте (вдруг мне понадобится удалить элемент из очереди не в ее деструкторе?) не было утечки. Кому нужна эта лишняя головная боль? Сообщение отредактировано: IUnknown - 2.07.2011 11:04 |
![]() ![]() |
![]() |
Текстовая версия | 9.07.2025 7:59 |