#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);
Point ob4;
ob1 = (ob1, ob2+ob2, ob3);//Why control is not reaching comma operator for ob1?
ob1 = (ob3, ob2+ob2, ob1);//Why control is not reaching comma operator for ob3?
ob4 = (ob3+ob2, ob1+ob3);//Why control is not reaching comma operator for ob3+ob2?
char c;
cin >>c;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgUG9pbnQgewogIGludCB4LCB5OwpwdWJsaWM6CiAgUG9pbnQoKSB7fQogIFBvaW50KGludCBweCwgaW50IHB5KSAKICB7eCA9IHB4O3kgPSBweTt9CiAgdm9pZCBzaG93KCkgewogICAgY291dCA8PCB4IDw8ICIgIjsKICAgIGNvdXQgPDwgeSA8PCAiXG4iOwogIH0KICBQb2ludCBvcGVyYXRvcisoUG9pbnQgb3AyKTsKICBQb2ludCBvcGVyYXRvciwoUG9pbnQgb3AyKTsKfTsKCi8vIG92ZXJsb2FkIGNvbW1hIGZvciBQb2ludApQb2ludCBQb2ludDo6b3BlcmF0b3IsKFBvaW50IG9wMikKewogIFBvaW50IHRlbXA7CiAgdGVtcC54ID0gb3AyLng7CiAgdGVtcC55ID0gb3AyLnk7CiAgY291dCA8PCBvcDIueCA8PCAiICIgPDwgb3AyLnkgPDwgIlxuIjsKICByZXR1cm4gdGVtcDsKfQoKLy8gT3ZlcmxvYWQgKyBmb3IgUG9pbnQKUG9pbnQgUG9pbnQ6Om9wZXJhdG9yKyhQb2ludCBvcDIpCnsKICBQb2ludCB0ZW1wOwogIHRlbXAueCA9IG9wMi54ICsgeDsKICB0ZW1wLnkgPSBvcDIueSArIHk7CiAgcmV0dXJuIHRlbXA7Cn0KCmludCBtYWluKCkKewogIFBvaW50IG9iMSgxMCwgMjApLCBvYjIoIDUsIDMwKSwgb2IzKDEsIDEpOwogIFBvaW50IG9iNDsKICBvYjEgPSAob2IxLCBvYjIrb2IyLCBvYjMpOy8vV2h5IGNvbnRyb2wgaXMgbm90IHJlYWNoaW5nIGNvbW1hIG9wZXJhdG9yIGZvciBvYjE/CiAgb2IxID0gKG9iMywgb2IyK29iMiwgb2IxKTsvL1doeSBjb250cm9sIGlzIG5vdCByZWFjaGluZyBjb21tYSBvcGVyYXRvciBmb3Igb2IzPwogIG9iNCA9IChvYjMrb2IyLCBvYjErb2IzKTsvL1doeSBjb250cm9sIGlzIG5vdCByZWFjaGluZyBjb21tYSBvcGVyYXRvciBmb3Igb2IzK29iMj8KICBjaGFyIGM7CiAgY2luID4+YzsKICByZXR1cm4gMDsKfQ==