Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <queue>
- using namespace std;
- class Point {
- private:
- int x, y;
- public:
- Point() {}
- Point(int _x, int _y) {
- x = _x;
- y = _y;
- }
- ~Point() {}
- void print() {
- cout << x << " " << y << endl;
- }
- Point operator + (Point p) {
- Point temp;
- temp.x = x + p.x;
- temp.y = y + p.y;
- return temp;
- }
- Point operator - (Point p) {
- Point temp;
- temp.x = x - p.x;
- temp.y = y - p.y;
- return temp;
- }
- Point operator * (Point p) {
- Point temp;
- temp.x = x * p.x;
- temp.y = y * p.y;
- return temp;
- }
- Point operator / (Point p) {
- Point temp;
- temp.x = x / p.x;
- temp.y = y / p.y;
- return temp;
- }
- bool operator < (Point p) {
- if(x < p.x and y < p.y) {
- return true;
- }
- return false;
- }
- bool operator > (Point p) {
- if(x > p.x and y > p.y) {
- return true;
- }
- return false;
- }
- bool operator <= (Point p) {
- if(x <= p.x and y <= p.y) {
- return true;
- }
- return false;
- }
- bool operator >= (Point p) {
- if(x >= p.x and y >= p.y) {
- return true;
- }
- return false;
- }
- bool operator == (Point p) {
- if(x == p.x and y == p.y) {
- return true;
- }
- return false;
- }
- bool operator != (Point p) {
- if(x == p.x and y == p.y) {
- return true;
- }
- return false;
- }
- Point& operator += (Point p) {
- x += p.x;
- y += p.y;
- return *this;
- }
- Point& operator -= (Point p) {
- x -= p.x;
- y -= p.y;
- return *this;
- }
- Point& operator *= (Point p) {
- x *= p.x;
- y *= p.y;
- return *this;
- }
- Point& operator /= (Point p) {
- x /= p.x;
- y /= p.y;
- return *this;
- }
- Point& operator ++ (int p) { //postfix
- x++;
- y++;
- return *this;
- }
- Point& operator ++ () { // prefix
- ++x;
- ++y;
- return *this;
- }
- Point& operator -- (int p) { //postfix
- x--;
- y--;
- return *this;
- }
- Point& operator -- () {
- --x;
- --y;
- return *this;
- }
- };
- int main()
- {
- Point p1(2, 5);
- Point p2(1, 5);
- --p1;
- p1.print();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement