#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); friend istream& operator >> (istream &stream, Point &tmp); }; ostream& operator << (ostream &stream, Point tmp) { stream << tmp.x << " " << tmp.y << endl; return stream; } istream& operator >> (istream &stream, Point &tmp) { stream >> tmp.x; stream >> tmp.y; return stream; } int main() { Point p; cin >> p; p += Point(2, 2); cout << p << endl; // input stream // output stream return 0; }