Operator Overloading: Overload the +, =, : Assign « Overload « C++






Operator Overloading: Overload the +, =,

  
#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;  
}
  
    
  








Related examples in the same category

1.Demo: Overload the +, -, and = relative to MyClass.Demo: Overload the +, -, and = relative to MyClass.
2.Another Demo: Overload the == and && relative to MyClass class.Another Demo: Overload the == and && relative to MyClass class.
3.overloaded '+=' assignment operator
4.overloads assignment operator (=)