CCCPaste

Untitled

#include 

using namespace std;

class Point {
private:
    int x, y;
public:
    Point() {}
    Point(int _x, int _y) {
        x = _x;
        y = _y;
    }
    Point(const Point &tmp) {
        x = tmp.x;
        y = tmp.y;
    }
    ~Point() {}
    
    Point& operator ++ (int p) {
        x++;
        return *this;
    }
    Point& operator -- (int p) {
        y--;
        return *this;
    }
    Point& operator = (const Point &tmp) {
        x = tmp.x;
        y = tmp.y;
        return *this;
    }
    Point& operator += (Point tmp) {
        x += tmp.x;
        y += tmp.y;
        return *this;
    }
    Point& operator -= (Point tmp) {
        x -= tmp.x;
        y -= tmp.y;
        return *this;
    }
    Point& operator *= (Point tmp) {
        x *= tmp.x;
        y *= tmp.y;
        return *this;
    }
    Point& operator /= (Point tmp) {
        x /= tmp.x;
        y /= tmp.y;
        return *this;
    }
    int get_x() {
        return x;
    }
    int get_y() {
        return y;
    }
    friend ostream& operator << (ostream &stream, Point tmp);
};
ostream& operator << (ostream &stream, Point tmp) {
    stream << tmp.x << " " << tmp.y << endl;
    return stream;
}
int main() {

    Point p(10, 5);
    Point p2(2, 5);
    p -= p2;
    cout << p << endl;
    // ostream
    return 0;
}