Подорожуй з gofrie.com

Задача: Трикутники

Реалізувати клас трикутників за зразком сигнатури:

Вивід трикутників ABC у вигляді (1;2)(1;2)(3;5), де A, B, C — відповідні точки.

#include <iostream>
using namespace std;

class Point
{
private:
	double _x;
	double _y;

public:
	Point (const double &x = 0, const double &y = 0);
	Point (const Point &);
	~Point();
	Point &operator=(const Point &);
	double &x();
	double &y();
	const double &x()const;
	const double &y()const;
	const double distance(const Point &p) const;
};

ostream &operator<<(ostream&, const Point &);
const Point operator+ (const Point &, const Point &);
Point &operator+=(Point &, const Point &);
const Point operator- (const Point &, const Point &);
Point &operator-=(Point &, const Point &);
const bool operator==(const Point &, const Point &);
const bool operator!=(const Point &, const Point &);

class Triangle
{
public:
	// Segment of triangle
	class Segment 
	{
	private:
		// Assignment is forbidden in this implementation
		Segment &operator=(const Segment &);
		const Point &_a;
		const Point &_b;

	public:
		Segment(const Point &start, const Point &end);
		Segment(const Segment &);
		~Segment();

		const Point &start() const;
		const Point &end() const;

		const double length() const;
                // Найближча відстань від точки до відрізка
		const Point nearest(const Point &) const;
	};

	Triangle(const double &x1=0, const double &y1=0,
	         const double &x2=1, const double &y2=0,
		 const double &x3=0, const double &y3=1);
	Triangle(const Point &a, const Point &b, const Point &c);
	Triangle(const Point &a, const Segment &side);
	Triangle (const Triangle &);
	~Triangle();
	Triangle &operator=(const Triangle &);

	const double perimeter() const;
	const double area() const;

	const Point &apexA() const;
	const Point &apexB() const;
	const Point &apexC() const;

	const Segment &side_a() const;
	const Segment &side_b() const;
	const Segment &side_c() const;

	const double length_a() const;
	const double length_b() const;
	const double length_c() const;

	const Segment &height_a() const;
	const Segment &height_b() const;
	const Segment &height_c() const;

private:
        Point _a, _b, _c;
};