overload comma for Point : overload comma operator « Operator Overloading « C++ Tutorial






#include <iostream>
using namespace std;

class Point {
  int x, y;
public:
  Point() {}
  Point(int px, int py) {
    x = px;
    y = py;
  }

  void show() {
    cout << x << " ";
    cout << y << "\n";
  }

  Point operator+(Point op2);
  Point operator,(Point op2);
};

// overload comma for Point
Point Point::operator,(Point op2)
{
  Point temp;

  temp.x = op2.x;
  temp.y = op2.y;
  cout << op2.x << " " << op2.y << "\n";

  return temp;
}

// Overload + for Point
Point Point::operator+(Point op2)
{
  Point temp;

  temp.x = op2.x + x;
  temp.y = op2.y + y;

  return temp;
}

int main()
{
  Point ob1(10, 20), ob2( 5, 30), ob3(1, 1);

  ob1.show();
  ob2.show();
  ob3.show();
  cout << "\n";

  ob1 = (ob1, ob2+ob2, ob3);

  ob1.show(); // displays 1 1, the value of ob3

  return 0;
}
10 20
5 30
1 1

10 60
1 1
1 1








10.12.overload comma operator
10.12.1.overload comma for Point
10.12.2.Overloading the Comma Operator