Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ООП / Lab_1_3

.pdf
Скачиваний:
20
Добавлен:
03.03.2016
Размер:
234.35 Кб
Скачать

Лабораторная работа №3

Тема: Наследование и полиморфизм Цель работы: получить навыки по созданию иерархий классов. Научиться корректно использовать полиморфизм.

Порядок выполнения лабораторной работы №3

Заданием на лабораторную работу является расширение программы, созданной на лабораторной работе №2. Необходимо, в соответствии с вариантом, найти сущности, для которых можно выделить базовый и производный классы. требуется расширить программу на С++, обеспечив следующее:

определить базовый и производный классы;

выделить их общие методы;

при хранении объектов иерархии, хранить их как массив указателей на тип базового класса;

продемонстрировать выполнение обработки объектов, используя общие методы;

Варианты заданий Группа ИУС-10а

1.Классы полка, книга и журнал. Класс обработчик размещает книги и журналы согласно коду на нужную полку, поиск книг с заданными атрибутами на полках.

2.Классы отдел, сотрудник и менеджер. Класс обработчик реализует перевод сотрудника в другой отдел, расчет стажа сотрудника.

3.Классы табель выходов, инженер и бригадир. Класс обработчик реализует заполнение табеля выходов и расчет заработной платы сотрудников на основании информации об отработанном времени. Печать информации о бригадире включает в себя информацию о бригаде.

4.Классы документ и позиция документа. Класс обработчик реализует проверку позиций документа на содержание запрещенных символов, подпись заполненного документа. Позиции могут содержать текстовое поле, поле-флажок, выбор из нескольких вариантов.

5.Классы комната, студент и аспирант. Класс обработчик реализует поселение в комнату с соблюдением условий: в комнате студенты одного пола и одинаковой специальности, либо аспиранты одного пола. Подсчет количества мальчиков и девочек, проживающих во всех комнатах.

6.Классы ж/д маршрут и остановочный пункт. Остановочные пункты могут быть различных типов: станция, полустанок, таможенный пункт. Класс обработчик реализует сравнение маршрутов на идентичность, расчет времени прохождения всего маршрута и количества пересечений границ.

7.Классы программа телепередач и телепередача (выпуск новостей, фильм, шоу). Класс обработчик реализует трансляцию телепередачи в заданное время, проверку программы телепередач на целостность и её печать.

8.Классы игровое поле и фигура (фигурой может быть персонаж или транспорт). Класс обработчик реализует движение фигуры по полю клавишами управления курсором, переворот фигуры по нажатию клавиши «пробел».

9.Классы участок и растение. Класс обработчик реализует высадку растений на участки, сбор и подсчет урожая. При этом урожай для деревьев оценивается с одного дерева, а для зерновых – с гектара.

10.Классы рюкзак и учебные материалы. К материалам относят учебник, методичку, диск с видеоматериалами. Класс обработчик реализует формирование расписания предметов и заполнение рюкзака согласно этому расписанию.

11.Классы порт и корабль. Корабль может быть грузовым или пассажирским. Класс обработчик реализует выдачу разрешения на вход корабля в порт и помещает корабль к заданному причалу или в заданный свободный док.

12.Классы комната, окно и форточка. Класс обработчик реализует проветривание комнаты при достижении критических значений температуры и влажности внутри комнаты.

13.Классы водопровод, кран и вентиль. Класс обработчик реализует подсчет утекшей воды и расчет ее стоимости.

14.Классы клавиатура и клавиши. Клавиши могут быть алфавитно-цифровыми или функциональными. Класс обработчик задает алфавит для клавиатуры и

позволяет формировать слова из этого алфавита. Регистр переключается с помощью функциональных клавиш.

15.Классы товар и категория. Класс-обработчик определяет для обычных товаров категорию с наиболее широким ассортиментом и выводит пять товаров с наибольшей ценой. Для расходных материалов – пять товаров с наименьшим наличием.

16.Классы таблица и столбец. Класс-обработчик позволяет изменять структуру таблицы и выводить её данные. В соответствии с типом столбца выводится элемент управления (предусмотреть текстовое поле для строковых и числовых типов, флажокдля булевского).

17.Классы таблица и строка. Класс-обработчик позволяет выводить список записей таблицы, отсортированных по заданному полю. При этом для полей разных типов предусматривается свой класс, обеспечивающий сравнение данных.

18.Классы футболист (игрок и вратарь) и команда. Класс-обработчик выводит троих наиболее результативных футболистов.

19.Классы торговый зал и продовольственный товар (товары, продаваемые по весу и поштучно). Класс-обработчик позволяет определить стоимость товаров в каждом торговом зале, а также перемещение товаров из одного зала в другой.

20.Классы клиент банка (физ. лица и юр. лица) и кредит. Класс-обработчик должен вывести список клиентов, которые имеют задолженности по погашению кредитов.

21.Классы АТП и транспорт (автобусы, грузовой транспорт). Класс-обработчик должен вывести список транспортных средств, не прошедших техосмотр и определить возможности АТП по перевозке пассажиров или грузов за рабочую смену, если считать все маршруты одинаковыми и требующими 30 минут для ходки в одну сторону.

Классы тест и вопрос. Обработчик реализует получение ответов на вопросы и расчет итогового результата, учитывая при этом тип и веса вопросов.

Контрольные вопросы

1.Что такое наследование?

2.Как наследуются закрытые, защищенные и публичные члены класса?

3.Объясните разницу между публичным, защищенным и множественным наследованием.

4.Что такое множественное наследование и для чего оно используется?

5.Что такое полиморфизм? Как реализуется полиморфизм в С++?

Соседние файлы в папке ООП