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

Инструментальные средства / Методические указания ЛР 6

.doc
Скачиваний:
17
Добавлен:
12.02.2015
Размер:
23.55 Кб
Скачать

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

Создать четыре класса. Все четыре класса должны находиться в разных пространствах (или подпространствах) имен. Первый базовый класс Base должен быть абстрактным и иметь три метода. Первый метод ArithmeticMethod должен быть виртуальным, принимать два целочисленных аргумента и возвращать результат выполнения одной из математических операций (“+”, “-”, “*”, “/”). Второй метод SetObjectNum предназначен для установки целочисленного значения номера создаваемого объекта класса, должен в качестве аргумента принимать тип int. Третий метод ClassInfoMethod должен быть абстрактным.

Еще два класса должны быть наследниками рассмотренного класса Base и переопределять два метода: ArithmeticMethod и ClassInfoMethod. Замещенные методы ArithmeticMethod должны реализовывать выполнение любых других математических операций. Замещенные методы ClassInfoMethod должны выводить информацию об имени класса и номер созданного объекта класса (объекты получают порядковые номера при их создании с использованием метода SetObjectNum).

Последний четвертый класс также имеет имя Base и является классом, с которого начинается выполнение программы. Необходимо предоставить пользователю меню, предлагающее создать объект любого из двух дочерних классов. Объект каждого класса можно создавать более одного раза (произвольное количество раз). Для каждого созданного объекта вызывается метод SetObjectNum, который присваивает объекту порядковый номер. После окончания создания произвольного количества объектов (сколько именно – решает пользователь и заранее это число не задается) для всех объектов в едином цикле вызывается метод ArithmeticMethod с произвольными аргументами и метод ClassInfoMethod (реализация концепции динамического полиморфизма).