Задача: Сегмент
Реалізувати клас сегментів, який не суперечить наступній сигнатурі:
#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(void);
Point& operator=(const Point &);
double& x(void);
double& y(void);
const double& x()const;
const double& y()const;
};
//Вивід у вигляді (x; y)
ostream& operator<<(ostream&, 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 Segment
{
private:
const unsigned int _myID;
Point _a;
Point _b;
public:
Segment(const double &x1 = 0, const double &y1 = 0,
const double &x2 = 0, const double &y2 = 0);
Segment(const Point &start, const Point &end);
Segment(const Segment &);
~Segment();
Segment& operator=(const Segment &);
const Point& start() const;
const Point& end() const;
Point& start();
Point& end();
const double& startX() const;
const double& startY() const;
const double& endX() const;
const double& endY() const;
double& startX();
double& startY();
double& endX();
double& endY();
// Обчислення довжини відрізка
const double length() const;
// Обчислення відстані від відрізка до точки
const double distance(const Point &) const;
//Ідентифікатор поточного сегменту
const unsigned int getID() const;
};
// Вивід у вигляді [(x1; y1); (x2; y2)]
ostream& operator<<(ostream&, const Segment &);
const bool operator==(const Segment &, const Segment &);
const bool operator!=(const Segment &, const Segment &);
- 0
- 23 березня 2013, 18:26
- GarfieldUA
- Залишити коментар