Mega Code Archive

 
Categories / C++ / Overload
 

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