Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по ТРПО.doc
Скачиваний:
62
Добавлен:
17.03.2015
Размер:
65.02 Кб
Скачать

Лабораторная работа № 6:

Перегрузка операций

1) Создайте класс Int. Перегрузите четыре арифметические операции (+, -, *, /) так, чтобы их можно было использовать для операций с объектами класса Int. Перегрузите также две операции сравнения (<, ==). Напишите программу для проверки этого класса.

2) На основе типа char создайте класс Stroka. Перегрузите операцию приведения строки типа char к типу Stroka и наоборот. Напишите программу для проверки этого класса.

Лабораторная работа № 7:

Наследование

1) На основе стандартного типа float создайте класс Float, имеющий два конструктора, метод вывода на экран и метод для перегрузки арифметической операции +. Используя общее наследование, создайте производный класс, добавляющий возможность использования операций -, *, /. Напишите программу для проверки производного класса.

2) Используя известный по лекциям класс Tovar, создайте два производных от него класса: 1) TovarProd, добавляющий возможность хранить информацию о сроке хранения и температуре хранения продуктовых товаров; 2) TovarProm, позволяющий хранить информацию в соответствии с полями базового класса. Напишите программу, позволяющую в зависимости от выбора пользователя:

  • вводить информацию либо о продуктовых товарах, либо о промышленных товарах;

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

Выбор оформите с помощью меню.

Лабораторная работа № 8:

Наследование, указатели и виртуальные функции.

Многофайловые проекты

1) На основе 2-ого задания л/р №7 измените программу таким образом, чтобы отпала необходимость использовать два массива (типа TovarProd и типа TovarProm). Необходимо создать массив указателей базового класса Tovar и в зависимости от выбора пользователя каждому элементу массива выделять столько памяти, сколько необходимо для АТД TovarProd или для АТД TovarProm. Естественно, что для обработки такого разнохарактерного массива необходимо все методы базового класса объявить виртуальными.

Программу следует реализовать как многофайловый проект! В остальном суть программы не меняется.