5 В базовом классе А задана точка (т.е. ее координаты х и у). В производ-
ном классе В (наследуется от класса А) задаются координаты второй точки. Вы-
числить радиус и площадь круга. В производном классе С (наследуется от клас-
са А) задается высота цилиндра и вычисляется его объем). Использовать конст-
руктор с параметрами.
6 Создать базовый класс «Книга» включающий название книги, фами-
лию автора.
Реализовать производный класс «Отдел» включающий в себя название
отдела. Написать программу позволяющую добавлять и удалять книги из отде-
ла.
7 Реализовать класс «Человек», включающий имя, фамилию, отчество,
год рождения и методы, позволяющие изменять/получать значения этих полей.
Реализовать производные классы:
- «Предприниматель» - содержит номер лицензии, адрес регистрации,
УНН, данные о налоговых платежах (массив пар вида <дата, сумма>).
- «Турист» - содержит данные паспорта(строка), данные о пересечении
границы в виде массива пар <дата, странах
Классы должны содержать методы доступа и изменения всех полей.
6.6 Перегрузка операторов
6.6.1 Основные принципы перегрузки операторов
Программы на языке С++ используют некоторые такие ранее определен-
ные простейшие классы(типы), как int, char, float и т.д. Мы можем описать объ-
екты указанных классов, например:
int a,b;
char c,d,e;
float f;
Здесь переменные a,b,c,d,e,f можно рассматривать как простейшие объ-
екты. В языке определено множество операций над простейшими объектами,
выражаемыми через операторы, такие как +, -, *, /,% и т.д. Каждый оператор
можно применить к операндам определенного типа.
float a,b=3.123,c=6.871;
a=c+b; // нет ошибки
а=с%b; // ошибка
Второе является ошибочным, поскольку операция % должна быть приложена
лишь к объектам целого типа. Из этого следует: операторы языка можно при-
менить к тем объектам, для которых они были определены.
К сожалению, лишь определенное число типов непосредственно поддер-
живается любым языком программирования. Например, языки С и С++ не по-
зволяют выполнять операции с комплексными числами, матрицами, строками,
множествами и т.п. Однако все эти операции можно определить через классы в
языке С++. Рассмотрим пример. Пусть заданы множества А и В:
А={а1,а2,а3}; В={а3,а4,а5};
217