// Name: Xiang Lian // // Date: 9/2/2020 // #ifndef __POINT_HPP__ #define __POINT_HPP__ #include class point { private: int x, y; public: point() { x = y = 0; } // default constructor point(int nx, int ny) { x = nx; y = ny; } void setx(int nx); void sety(int ny); int getx() { return x; } int gety() { return y; } void init(int nx, int ny); point add(point p); double dist(point p); void print(std::ostream&); point operator+(point p) { point rlt; rlt.x = x + p.x; rlt.y = y + p.y; return rlt; } point operator+(int i) { point rlt; rlt.x = x + i; rlt.y = y + i; return rlt; } point operator/(int i) { point rlt; rlt.x = x / i; rlt.y = y / i; return rlt; } }; std::ostream& operator << (std::ostream&, point p); point operator+(int i, point p); #endif