Mega Code Archive

 
Categories / C++ / Overload
 

Operator Overloading

#include <iostream>   using namespace std;      class three_d {     int x, y, z; public:     three_d operator+(three_d t);     three_d operator=(three_d t);           void show(void) ;     void assign(int mx, int my, int mz);   } ;         // Overload the +.   three_d three_d::operator+(three_d t)   {     three_d temp;           temp.x = x+t.x;     temp.y = y+t.y;     temp.z = z+t.z;     return temp;   }         // Overload the =.   three_d three_d::operator=(three_d t)   {     x = t.x;     y = t.y;     z = t.z;     return *this;   }         // show X, Y, Z coordinates   void three_d::show(void)   {     cout << x << ", ";     cout << y << ", ";     cout << z << "\n";   }         // Assign coordinates   void three_d::assign(int mx, int my, int mz)   {     x = mx;     y = my;     z = mz;   }         main(void)   {     three_d a, b, c;           a.assign(1, 2, 3);     b.assign(10, 10, 10);           a.show();     b.show();           c = a+b;     c.show();           c = a+b+c;    c.show();           c = b = a;     c.show();     b.show();           return 0;   }