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

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

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

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

1. Создать класс Time со следующими членами данных:

Иденитификатор

Тип

Hours

int

Minutes

int

Seconds

int

Написать конструктор с параметрами, позволяющий установить значение времени (задать значения для всех трех полей). Предусмотреть проверку на допустимость значений параметров (значения Seconds и Minutes не должны превышать 60, а значение Hours не должно превышать 24).

Написать перегрузку оператора ++ таким образом, чтобы он увеличивал значение, содержащееся в поле Seconds, на 1. Когда значение Seconds превышает 60, оно должно быть сброшено в 0, а значение поля Minutes должно увеличиться на 1. Аналогично, когда значение минут превышает 60, следует обнулить поля Seconds и Minutes, и увеличить значение поля Hours на 1. Когда значение Hours превышает 24, все поля должны быть сброшены в 0.

Написать в классе метод, который добавляет к текущему времени заданное произвольное количество секунд. Если добавляется большое количество секунд, вносятся соответствующие изменения в значения минут и часов.

Написать тестовый класс с функцией Main, тестирующей все созданные конструкторы, методы и операторы класса Time.

2. Создать класс Shape, содержащий виртуальную функцию area для вычисления площади фигуры.

Создать три класса-наследника от класса Shape: Circle, Rectangle, Triangle. В каждом из них заместить метод area так, чтобы он вычислял и выводил на экран значение площади фигур: окружности, прямоугольника и треугольника соответственно. В классах наследниках предусмотреть конструкторы с параметрами, позволяющие создавать объекты данных классов с указанными в качестве параметров размерами фигур.

Написать тестовый класс с функцией Main, тестирующей все созданные конструкторы и методы классов Circle, Rectangle, Triangle.