Mega Code Archive

 
Categories / C++ Tutorial / Operator Overloading
 

+ is overloaded for Point + int

#include <iostream> using namespace std; class Point {   int x, y; public:   Point() {}   Point(int px, int py) {     x = px;     y = py;   }   void show() {     cout << x << " ";     cout << y << "\n";   }   friend Point operator+(Point op1, int op2);   friend Point operator+(int op1, Point op2); }; // + is overloaded for Point + int. Point operator+(Point op1, int op2) {   Point temp;   temp.x = op1.x + op2;   temp.y = op1.y + op2;   return temp; } // + is overloaded for int + Point. Point operator+(int op1, Point op2) {   Point temp;   temp.x = op1 + op2.x;   temp.y = op1 + op2.y;   return temp; } int main() {   Point ob1(10, 20), ob2( 5, 30), ob3(7, 14);   ob1.show();   ob2.show();   ob3.show();   ob1 = ob2 + 10; // both of these   ob3 = 10 + ob2; // are valid   ob1.show();   ob3.show();   return 0; } 10 20 5 30 7 14 15 40