Задание 4. Классы.
Часть 1 - 30 баллов. Реализовать класс точки на плоскости, с закрытыми полями x,y. Класс должен содержать:
конструктор с параметрами (x,y)
конструктор по умолчанию
методы доступа к полям
метод вычисления расстояния до другой точки
Добавить деструктор точки, вывести сообщение вида: "Уничтожена точка (x,y)".
Описать конструктор копии. Добавить в него вывод: “Создана копия (x,y)”.
можно воспользоваться заготовкой.
Часть 2 - 30 баллов. Используя объекты этого класса описать класс треугольник. Класс должен содержать:
закрытые поля для вершин;
конструктор с параметрами (p1, p2, p3);
методы доступа к полям;
методы вычисления:
тип треугольника;
периметр;
площадь;
радиус вписанной окружности;
радиус описанной окружности;
std::ostream &operator<<(std::ostream &os, const КЛАСС &p);
std::istream &operator>>(std::istream &is, КЛАСС &p);
При описании конструктора необходимо проверять, что треугольник не вырожденный.
Часть 3 - 30 баллов. Описать класс круг. Класс должен содержать:
- закрытые поля центр и радиус;
- конструктор с параметрами;
- методы доступа к полям;
- методы вычисления площади и периметра;
- метод определения принадлежности точки кругу.
Считать массив точек из файла и вычислить радиус круга с центром в одной из точек массива, имеющего минимальную площадь и содержащего все точки массива.
Тесты к заданию - 10 баллов.