Наследование, перегрузка операций 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Наследование, перегрузка операций



Цель работы

1. Изучить механизмы наследования при создании иерархии классов.

2. Исследовать правила перегрузки операций.

3. Научится использовать структуры для разработки проблемно ориентированных типов данных (абстрактных типов данных, АТД).

4. Научиться разрабатывать и использовать хранилища данных, организованные по принципу электронных таблиц.

Задания к лабораторной работе

Согласно заданию составить алгоритм и написать программу на языке С++. Программа компилируется и запускается под управлением ОС Linux.

В случае если студент разрабатывает программу, работающую под управлением операционной системы MS Windows, необходимо обеспечить максимальную переносимость кода. То есть не использовать не стандартные Microsoft-расширения языка С ++, привязанные к среде разработки MS Visual Studio.

Разработанная программа должна содержать встроенную справочную информации, описывающую правила использования, цель назначения и информацию о разработчике. Аргументы запуска программа должна обрабатывать согласно рекомендациям POSIX.

Создать пользовательский класс TCharArray (массив), используемый для хранения элементов типа char. В данном классе должен быть реализован метод at для доступа к элементу символьного массива с проверкой корректности значения индекса элемента массива. Кроме того, необходимо перегрузить операцию [ ] для доступа к элементам массива. Используя класс TCharArray в качестве родительского, создать производный от него пользовательский класс String, используемый для хранения символьных строк. Для данного класса перегрузить следующие операции: ‘+’, ‘==’, ‘>’, ‘<’, ‘!=’

Разрабатываемая программа предназначена для хранения массива экземпляров класса. Перечень атрибут класса (членов-данных) определяется исходя их задания во второй лабораторной работе. Созданная программа должна поддерживать управление на уровне аргументов командной строки (аргументов запуска).

Поддерживаемые опции запуска:

-- help либо - h - запуск программы в режиме получения справки. После вывода справочной информации программа завершает работу.

[ N ] [ file _ name ] - запуск программы в режиме создания электронной таблицы записей, N – количество записей, file _ name – имя бинарного файла, в котором будет сохранен массив (таблица) записей.

- r [ N ] [ file _ name ] - запуск программы в режиме чтения содержимого бинарного файла file _ name, на экран должны быть выведены не более N записей. Следует учесть, что реальное количество записей в файле может не совпадать с заданным значением N. Если заданный файл окажется пуст, либо по какой-либо причине программа не сможет его открыть, должно быть выдано соответствующее сообщение.

В случае, если программа будет запущена с неопределенными разработчиком аргументами, программа должна выдать соответствующее сообщение и вывести минимальную справку о корректных аргументах запуска. Это так же касается случая, когда программа запускается без аргументов.

 


ВИРТУАЛЬНЫЕ ФУНКЦИИ И ПОЛИМОРФИЗМ

ЛАБОРАТОРНАЯ РАБОТА №5

Виртуальные функции. Полиморфизм

Цель работы

1. Изучить механизмы вызова методов производного класса через указатель на балловый класс.

2. Исследовать внутреннюю организацию классов при использовании наследования.

3. Научится использовать механизмы наследования для проектирования информационных систем (проблемно-ориентированного программного обеспечения).

4. Научиться разрабатывать и использовать хранилища данных, организованные по принципу электронных таблиц.

Задания к лабораторной работе

Согласно заданию составить алгоритм и написать программу на языке С++. Программа компилируется и запускается под управлением ОС Linux.

В случае если студент разрабатывает программу, работающую под управлением операционной системы MS Windows, необходимо обеспечить максимальную переносимость кода. То есть не использовать не стандартные Microsoft-расширения языка С ++, привязанные к среде разработки MS Visual Studio.

Разработанная программа должна содержать встроенную справочную информации, описывающую правила использования, цель назначения и информацию о разработчике. Аргументы запуска программа должна обрабатывать согласно рекомендациям POSIX.

 

Варианты индивидуальных заданий.

Вариант №1. Журнал аудита.

Разработать иерархию классов, которая позволит смоделировать работу службы аудита.

Базовый класс

Событие

Производные классы Уведомление Предупреждение Ошибка

 

Вариант №2. Журнал авиа диспетчерской службы.

Разработать иерархию классов, которая позволит смоделировать работу авиа диспетчерской службы.

Базовый класс

Летательный аппарат (ЛА)

Производные классы

Пилотируемый летательный аппарат (ПЛА)

Не пилотируемый летательный аппарат (НПЛА)

Производные классы Самолёт Вертолёт Метеозонд Летательный аппарат-робот
         

 

Вариант №3. Система учета подвижного состава автотранспортного предприятия.

Разработать иерархию классов, которая позволит смоделировать работу системы учета подвижного состава автотранспортного предприятия.

Базовый класс

Дородно-транспортное средство (ДТС)

Производные классы Пассажирский автобус микроавтобус Передвижная ремонтная мастерская Тягач

 

Вариант №4. Система учета сотрудников компании.

Разработать иерархию классов, которая позволит смоделировать работу системы учета сотрудников IT – компании.

Базовый класс

Категории работников

Человек Стажер (студент) Программист Тестировщик ПО Руководитель отдела

 

Вариант №5. Система учета.

Разработать иерархию классов, которая позволит смоделировать работу системы планирования распорядка дня.

Базовый класс

Событие

Производные классы Встреча Напомнить День рождения Заметка

 

Вариант №6. Система учета кадров ВУЗа.

Разработать иерархию классов, которая позволит смоделировать работу отдела кадров ВУЗа

Базовый класс

Человек (Person)

Производ-ные классы

Сотрудник

Студент

Производ-ные классы Препо-даватель-ский состав Учебно-вспомогательный состав Административно-хозяйственные службы Бакалавриат Магистратура Аспирантура
             

 

Вариант №7. Система учета кадров ВУЗа.

Разработать иерархию классов, которая позволит смоделировать работу отдела кадров ВУЗа

Базовый класс

Элемент цепи

Производ-ные классы

Пассивный электрический элемент

Активный электрический элемент

Производ-ные классы сопротивление Источник питания Проводник (соединительный элемент) Емкость (конденсатор) Индуктивность Триод (биполярный транзистор)
             

 

Приложение 1.



Поделиться:


Последнее изменение этой страницы: 2021-06-14; просмотров: 99; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.198.49 (0.012 с.)