Demo: Overload the +, -, and = relative to MyClass. : Minus « Overload « C++






Demo: Overload the +, -, and = relative to MyClass.

Demo: Overload the +, -, and = relative to MyClass.
  
#include <iostream>
using namespace std;

class MyClass {
  int x, y; 
public:
  MyClass() { 
     x=0; 
     y=0; 
  }
  MyClass(int i, int j) { 
     x=i; 
     y=j; 
  }
  void getXY(int &i, int &j) { 
     i=x; 
     j=y; 
  }
  MyClass operator+(MyClass object2);
  MyClass operator-(MyClass object2);
  MyClass operator=(MyClass object2);
};

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

  temp.x = x + object2.x;
  temp.y = y + object2.y;

  return temp;
}

MyClass MyClass::operator-(MyClass object2){
  MyClass temp;

  temp.x = x - object2.x;
  temp.y = y - object2.y;

  return temp;
}

MyClass MyClass::operator=(MyClass object2)
{
  x = object2.x;
  y = object2.y;

  return *this; // return the object that is assigned
}

int main()
{
  MyClass object1(10, 10), object2(5, 3), object3;
  int x, y;

  object3 = object1 + object2;          // add two objects - this calls operator+()
  object3.getXY(x, y);
  cout << "(object1+object2) X: " << x << ", Y: " << y << endl;

  object3 = object1 - object2;          // subtract two objects
  object3.getXY(x, y);
  cout << "(object1-object2) X: " << x << ", Y: " << y << endl;

  object3 = object1;               // assign an object
  object3.getXY(x, y);
  cout << "(object3=object1) X: " << x << ", Y: " << y << endl;

  return 0;
}


           
         
    
  








Related examples in the same category

1.Overload the - relative to MyClass class 1. Overload the - relative to MyClass class 1.
2.overload the - operator
3.Overload - (subtraction) so that it removes the first occurrence of the substring on the right from the string on the left and returns the result.