Advertisement
Josif_tepe

Untitled

Apr 1st, 2021
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.98 KB | None | 0 0
  1. #include <iostream>
  2. #include <queue>
  3.  
  4. using namespace std;
  5.  
  6. class Point {
  7. private:
  8.     int x, y;
  9. public:
  10.     Point() {}
  11.     Point(int _x, int _y) {
  12.         x = _x;
  13.         y = _y;
  14.     }
  15.     ~Point() {}
  16.     void print() {
  17.         cout << x << " " << y << endl;
  18.     }
  19.     Point operator + (Point p) {
  20.         Point temp;
  21.         temp.x = x + p.x;
  22.         temp.y = y + p.y;
  23.         return temp;
  24.     }
  25.     Point operator - (Point p) {
  26.         Point temp;
  27.         temp.x = x - p.x;
  28.         temp.y = y - p.y;
  29.         return temp;
  30.     }
  31.     Point operator * (Point p) {
  32.         Point temp;
  33.         temp.x = x * p.x;
  34.         temp.y = y * p.y;
  35.         return temp;
  36.     }
  37.     Point operator / (Point p) {
  38.         Point temp;
  39.         temp.x = x / p.x;
  40.         temp.y = y / p.y;
  41.         return temp;
  42.     }
  43.     bool operator < (Point p) {
  44.         if(x < p.x and y < p.y) {
  45.             return true;
  46.         }
  47.         return false;
  48.     }
  49.     bool operator > (Point p) {
  50.         if(x > p.x and y > p.y) {
  51.             return true;
  52.         }
  53.         return false;
  54.     }
  55.     bool operator <= (Point p) {
  56.         if(x <= p.x and y <= p.y) {
  57.             return true;
  58.         }
  59.         return false;
  60.     }
  61.     bool operator >= (Point p) {
  62.         if(x >= p.x and y >= p.y) {
  63.             return true;
  64.         }
  65.         return false;
  66.     }
  67.     bool operator == (Point p) {
  68.         if(x == p.x and y == p.y) {
  69.             return true;
  70.         }
  71.         return false;
  72.     }
  73.     bool operator != (Point p) {
  74.         if(x == p.x and y == p.y) {
  75.             return true;
  76.         }
  77.         return false;
  78.     }
  79.     Point& operator += (Point p) {
  80.         x += p.x;
  81.         y += p.y;
  82.         return *this;
  83.     }
  84.     Point& operator -= (Point p) {
  85.         x -= p.x;
  86.         y -= p.y;
  87.         return *this;
  88.     }
  89.     Point& operator *= (Point p) {
  90.         x *= p.x;
  91.         y *= p.y;
  92.         return *this;
  93.     }
  94.     Point& operator /= (Point p) {
  95.         x /= p.x;
  96.         y /= p.y;
  97.         return *this;
  98.     }
  99.     Point& operator ++ (int p) { //postfix
  100.         x++;
  101.         y++;
  102.         return *this;
  103.     }
  104.     Point& operator ++ () { // prefix
  105.         ++x;
  106.         ++y;
  107.         return *this;
  108.     }
  109.     Point& operator -- (int p) { //postfix
  110.         x--;
  111.         y--;
  112.         return *this;
  113.     }
  114.     Point& operator -- () {
  115.         --x;
  116.         --y;
  117.         return *this;
  118.     }
  119.     Point& operator = (Point p) {
  120.         x = p.x;
  121.         y = p.y;
  122.         return *this;
  123.     }
  124.     friend ostream& operator << (ostream &stream, Point p);
  125.     friend istream& operator >> (istream &stream, Point &p);
  126. };
  127. ostream& operator << (ostream &stream, Point p) {
  128.     stream << "X: " << p.x << endl;
  129.     stream << "Y: " << p.y << endl;
  130.     return stream;
  131. }
  132. istream& operator >> (istream &stream, Point &p) {
  133.     stream >> p.x;
  134.     stream >> p.y;
  135.     return stream;
  136. }
  137.  
  138. int main()
  139. {
  140.    
  141.    
  142.     Point p1;
  143.     cin >> p1;
  144.     cout << p1 << endl;
  145.     return 0;
  146. }
  147.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement