1 курс 2 семестр / Инструментальные средства / Методические указания ЛР 3
.docЛабораторная работа № 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.