Объектная реализация контейнера на основе комбинированной структуры «Динамический упорядоченный список массивов-стеков»
Автор работы: Пользователь скрыл имя, 13 Декабря 2014 в 10:49, курсовая работа
Описание работы
Цель работы: получение навыков разработки объектных программ, включая создание набора собственных взаимосвязанных классов для объектной реализации специализированного контейнера. Контейнер предназначен для хранения и обработки данных некоторой информационной задачи. Контейнер представляет собой двухуровневую структуру данных, в которой уровни реализуются разными способами – один статически на базе массива (непрерывная реализация), другой – динамически с использованием адресных связей (связная реализация).
Содержание работы
Постановка задачи (цель работы, исходные данные, ожидаемый результат, требования к реализации)……………………………………………………………………………………….2 Теоретическое описание используемых структур данных с алгоритмами реализации основных операций…………………………………………………………….…………….......3 Описание основных понятий и механизмов ООП……………………………………………………………………………………………….9 Описание всех разработанных классов (объектная модель)……………………………...…11 Описание демонстрационного модуля с характеристикой использованных стандартных компонентов……………………………………………………………………………………25 Описание структуры проекта…………………………………………………………………27 Список использованной литературы…………………………………………………………47
4)Четвёртый класс ManagementCompany(управляющая
компания) - динамический упорядоченный
список. Поля класса: счётчик числа элементов Count, указатели
на объекты типа ApartmentHouse на заголовок
списка(head), служебное
поле - указатель Current на объекты
типа ApartmentHouse для прохода
по списку, указатель на объект библиотечного
класса string(свойство Name-название управляющей
компании), указатель на bool-flag, показывающий,
производились какие-либо действия над
объектом или нет. Методы класса: конструктор,
деструктор; добавление, удаление элементов;
поиск заданного элемента, проход по списку,
проверки, методы доступа к полю Name, добавление
и удаление элементов из заданных стеков.
Конструктор ManagementCompany без
параметров для динамического выделения
памяти под объект. Конструктор класса ManagementCompany с входными
параметрами принимает ссылку на объект
библиотечного класса string, для инициализации
поля Name. Метод search служит для
поиска заданного элемента, в качестве
входного параметра принимает целое (поиск
происходит по номерам домов), возвращает
указатель на объект класса(копия искомого
элемента структуры) ApartmentHouse. Метод Add служит для
добавления нового элемента в список,
в качестве входного параметра принимает
целое, для инициализации у добавляемого
элемента поля Number. Упорядочивание
списка по номерам домов происходит при
добавлении нового элемента.
Метод Del удаляет заданный
элемент из списка, в качестве входного
параметра принимает целое (номер удаляемого
элемента). Метод pass необходим
для прохода по списку, возвращает указатель
на объекты(копии очередного элемента
структуры) класса ApartmentHouse. Функция checkDel служит для
проверки возможности удаления элемента
из списка, тип возвращаемого значения
bool (true-можно удалить). Метод checkpass служит
для проверки возможности дальнейшего
прохода по списку, тип возвращаемого
значения bool (true-можно осуществить переход
к следующему). Метод setName задаёт имя
управляющей компании, в качестве входного
параметра принимает ссылку на объект
библиотечного класса string, с помощью
метода getName получаем
имя компании, функция возвращает
объект класса string. Метод getflag возвращает
значение поля flag,метод setflag задаёт значение
поля flag. Метод getCount возвращает
значение поля Count. Метод AddAp позволяет
добавить в заданный элемент списка(дом)
объект Apartment, входные
параметры: целый тип-nAH – номер дома,
целый тип-nA – номер квартиры,
вещественный тип-S – площадь квартиры.
Возвращает 0 , если дом с номером nAH отсутствует,
иначе возвращает 1. Метод DelAp позволяет
удалить из заданного элемента списка(дома)
объект Apartment, если тот
находится на вершине стека, входные параметры:
целый тип-nAH – номер дома,
целый тип-nA – номер квартиры.
Возвращает 0 , если дом с номером nAH отсутствует
или поле Number вершинного элемента стека
не равно nA, иначе возвращает
1.