Mega Code Archive

 
Categories / C++ / Overload
 

Overloading the + (or any other binary operator) using a friend allows a built-in type to occur on the left or right side of the

#include <iostream>   using namespace std; class MyClass {   public:     int count;     MyClass operator=(int i);     friend MyClass operator+(MyClass ob, int i);     friend MyClass operator+(int i, MyClass ob);   };         MyClass MyClass::operator=(int i)   {     count = i;     return *this;   }         // This handles ob + int.   MyClass operator+(MyClass ob, int i)   {     MyClass temp;           temp.count = ob.count + i;     return temp;   }         // This handles int + ob.   MyClass operator+(int i, MyClass ob)   {     MyClass temp;           temp.count = ob.count + i;     return temp;   }         main(void)   {     MyClass obj;     obj = 10;     cout << obj.count << " ";          obj = 10 + obj;    cout << obj.count << " ";          obj = obj + 12;    cout << obj.count;         return 0;   }