Overload a unary operator. : Unary Operator « Overload « C++






Overload a unary operator.

Overload a unary operator.
 
#include <iostream>
using namespace std;

class MyClass {
  int x, y, z; 
public:
  MyClass() { 
     x = y = z = 0; 
  }
  MyClass(int i, int j, int k) {
     x = i; 
     y = j; 
     z = k; 
  }

  MyClass operator+(MyClass op2); 
  MyClass operator=(MyClass op2); 
  MyClass operator++();           

  void show() ;
} ;

MyClass MyClass::operator+(MyClass op2)
{
  MyClass temp;

  temp.x = x + op2.x; 
  temp.y = y + op2.y; 
  temp.z = z + op2.z; 
  return temp;
}

MyClass MyClass::operator=(MyClass op2)
{
  x = op2.x; // These are integer assignments
  y = op2.y; // and the = retains its original
  z = op2.z; // meaning relative to them.
  return *this;
}

MyClass MyClass::operator++()
{
  x++; // increment x, y, and z 
  y++; 
  z++;
  return *this;
}

void MyClass::show()
{
  cout << x << ", ";
  cout << y << ", ";
  cout << z << endl;
}

int main()
{
  MyClass a(1, 2, 3), b(10, 10, 10), c;
  a.show();
  b.show();

  c = a + b;     
  c.show();

  c = a + b + c; 
  c.show();

  c = b = a;     
  c.show();
  b.show();

  ++c;           
  c.show();

  return 0;
}


           
         
  








Related examples in the same category

1.Use a member function to overload the unary -.