定义Point类,即点,同时也可以作为平面向量使用。Point的加减乘除是作为向量的加减乘除。
下面给出Point的声明。
class Point : public Geometry
{
public:
double x = 0;
double y = 0;
public:
Point() {};
Point(const double x_, const double y_);
Point(const Point &point);
Point(const MarkedPoint &point);
Point &operator=(const Point &point);
const Type type() const override;
const bool operator==(const Point &point) const;
const bool operator!=(const Point &point) const;
const Point &normalize();
Point normalized() const;
// 获取左侧的垂直向量
Point vertical() const;
// 向量模长
const double length() const override;
// 判断是否为零向量
const bool empty() const override;
// 变为零向量
void clear() override;
Point *clone() const override;
void transform(const