Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // cpp: operator overloading( member function ), basics
- // Author: fueanta
- #include <iostream>
- #include <conio.h>
- using namespace std;
- class point
- {
- int x,y;
- public:
- point(int x=0, int y=0):x(x),y(y) {}
- void show();
- // Operator Over-loadings:
- point operator-();
- point operator+(point);
- point operator+(int);
- void operator=(point);
- point operator+=(int);
- void operator+=(point);
- point operator++();
- point operator++(int);
- bool operator==(point);
- };
- void point::show()
- {
- cout << "X= " << x << "\tY= " << y << endl;
- }
- point point::operator-()
- {
- return point(-x,-y);
- }
- point point::operator+(point i)
- {
- return point(x+i.x, y+i.y);
- }
- point point::operator+(int i)
- {
- return point(x+i, y+i);
- }
- void point::operator=(point i)
- {
- x=i.x; y=i.y;
- //return *this; then, return type should be given.
- }
- point point::operator+=(int i)
- {
- x+=i; y+=i;
- return *this;
- }
- void point::operator+=(point i)
- {
- x+= i.x; y+= i.y;
- //return *this; then, return type should be given.
- }
- point point::operator++()
- {
- return point(++x, ++y);
- }
- point point::operator++(int)
- {
- return point(x++, y++);
- }
- bool point::operator==(point i)
- {
- if(x==i.x && y==i.y)
- return true;
- else
- return false;
- }
- int main()
- {
- point p1(10,20),p2(20,30),p3;
- p3= -p1;
- p3.show();
- p3= p1+p2;
- p3.show();
- p3= p1+5;
- p3.show();
- p3= p2;
- p3.show();
- p3+= 5;
- p3.show();
- p1+= p2;
- p1.show();
- p3= ++p1;
- p3.show();
- p1.show();
- p3= p2++;
- p3.show();
- p2.show();
- //point p4(31,51);
- if (p1==p2)
- cout << "Equal." << endl;
- else
- cout << "Not Equal." << endl;
- getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement