§ 2. Классы
Упражнения
1. Разделите объявление и определение класса Student (примеры 2.1 и 2.3), создав файлы Student.h и Student.cpp.
2. Добавьте для базового класса, описанного в примере 2.6, в качестве наследников трапецию и параллелограмм. Опишите для них методы вычисления площадей.
3. Продумайте иерархию наследников для четырехугольников (количество наследников не менее 2). Реализуйте базовый абстрактный класс и дочерние классы. В качестве методов реализуйте функции для вычисления площади, периметра и длины диагонали.
4. Создайте класс Parallelepiped (прямоугольный параллелепипед). Конструктор принимает длины ребер. Реализуйте функции вычисления площадей основания и боковых граней, объема, длин диагоналей параллелепипеда и диагоналей основания и боковых граней. Сделайте проверку на то, что параллелепипед является кубом.
5. В отделе кадров информация о работниках хранится в следующем виде: фамилия и инициалы, название занимаемой должности, дата поступления на работу. Выведите в алфавитном порядке тех работников, стаж работы которых больше введенного значения на текущую дату (дата вводится). Опишите класс Worker, в котором должен быть реализован метод, вычисляющий стаж работы.
6. Создайте класс Rect для прямоугольников со сторонами, параллельными осям координат. Реализуйте перемещение прямоугольника на плоскости (по горизонтали, по вертикали, в направлении вектора), изменение размеров.