Advertisement
josiftepe

Untitled

Apr 1st, 2021
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.50 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. class Point {
  4. private:
  5.     int x, y;
  6. public:
  7.     Point() {}
  8.     Point(int _x, int _y) {
  9.         x = _x;
  10.         y = _y;
  11.     }
  12.    
  13.     Point operator + (Point p) {
  14.         Point ret;
  15.         ret.x = x + p.x;
  16.         ret.y = y + p.y;
  17.         return ret;
  18.     }
  19.     Point operator - (Point p) {
  20.         Point ret;
  21.         ret.x = x - p.x;
  22.         ret.y = y - p.y;
  23.         return ret;
  24.     }
  25.     Point operator * (Point p) {
  26.         Point ret;
  27.         ret.x = x * p.x;
  28.         ret.y = y * p.y;
  29.         return ret;
  30.     }
  31.     Point operator / (Point p) {
  32.         Point ret;
  33.         ret.x = x / p.x;
  34.         ret.y = y / p.y;
  35.         return ret;
  36.     }
  37.     bool operator < (Point p) {
  38.         if(x < p.x and y < p.y) {
  39.             return true;
  40.         }
  41.         return false;
  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 false;
  70.         }
  71.         return true;
  72.     }
  73.     Point& operator += (Point p) {
  74.         x += p.x;
  75.         y += p.y;
  76.         return *this;
  77.     }
  78.     Point& operator -= (Point p) {
  79.         x -= p.x;
  80.         y -= p.y;
  81.         return *this;
  82.     }
  83.     Point& operator *= (Point p) {
  84.         x *= p.x;
  85.         y *= p.y;
  86.         return *this;
  87.     }
  88.     Point& operator /= (Point p) {
  89.         x /= p.x;
  90.         y /= p.y;
  91.         return *this;
  92.     }
  93.     Point& operator = (const Point &p) {
  94.         if(this != &p) {
  95.             x = p.x;
  96.             y = p.y;
  97.         }
  98.         return *this;
  99.     }
  100.     Point& operator ++ (int p) {
  101.         x++;
  102.         y++;
  103.         return *this;
  104.     }
  105.     Point& operator -- (int p) {
  106.         x--;
  107.         y--;
  108.         return *this;
  109.     }
  110.     void pecati() {
  111.         cout << x << " " << y << endl;
  112.     }
  113. };
  114. int main() {
  115.     Point p1(10, 10);
  116.     Point p2(10, 5);
  117.     p1++;
  118.     p1--;
  119.     p1.pecati();
  120.     return 0;
  121. }
  122. // overload
  123. // override
  124. /*
  125.  a: 4 3 2 1 1
  126.  b: 6 4 3 6 1 6
  127.  c: 4 3 2 1
  128.  */
  129.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement