ВУЗ: Университет управления «ТИСБИ»
Категория: Методичка
Дисциплина: Объектно-ориентированное программирование
Добавлен: 20.10.2018
Просмотров: 399
Скачиваний: 6
Практическое задание 8. Создание и использование универсального
контейнера-массива для графических объектов
Постановка задачи.
Спроектировать и реализовать объект-контейнер для хранения и
обработки любых графических объектов, объединенных общей иерархией.
Основа контейнера – массив полиморфных объектных переменных-ссылок
на графические объекты. Объект-контейнер должен выполнять стандартный
набор операций: добавление и удаление объектов, поиск и циклическую
обработку всех объектов в контейнере. Дополнительно необходимо
реализовать операции выборочной обработки объектов в контейнере, такие
как перемещение только криволинейных объектов, перемещение только
прямоугольных объектов и т.д. Для проверки реализованных методов
создать тестирующую программу с простым графическим интерфейсом.
Исходные данные:
реализованная в предыдущем задании библиотека графических
объектов с виртуальными методами
реализованный в задании 3 простой контейнер-массив для
однотипных объектов (окружностей)
Порядок выполнения работы:
1. Изучить материал разделов 9 и 10 пособия, открыть проект, в котором
был реализован простейший контейнер-массив для однотипных
объектов и сохранить его в новом каталоге
2. Удалить из проекта модуль, в котором реализован класс окружностей и
добавить модуль (модули), содержащий библиотеку классов для
графических объектов (минимальный набор классов должен включать
следующие классы: корневой класс Фигура, дочерние классы
Окружность и Прямоугольник, дочерний класс Эллипс).
3. В разделе интерфейса модуля-контейнера подключить модуль
(модули) с библиотекой классов для графических объектов
4. В описании контейнерного класса заменить конкретный классовый
тип (например TCircle) на общий корневой классовый тип TFigure
5. Добавить в контейнерный класс второй конструктор, который
заполняет весь массив случайным набором графических объектов. Для
этого организуется цикл, в котором генерируется случайное число со
значениями 0, 1 или 2, по которому с помощью оператора выбора
выполняется вызов конструктора для создания одного из трех
возможных графических объекта (окружность, прямоугольник, эллипс).
6. Для демонстрации возможностей контейнера предусмотреть следующие
команды:
создать пустой контейнер
создать контейнер, заполненный случайными объектами
добавить новый объект
удалить объект
переместить весь набор объектов
7. Написать обработчики всех команд, код которых сводится к вызову
соответствующего метода контейнера и выводу информационного
сообщения.
8. Сохранить проект и проверить его работу.