#include <iostream>
using namespace std;
class Point {
public:
Point();
Point(double x, double y) : x(x), y(y) { }
double getX() const { return x; }
double getY() const { return y; }
void setX(double);
void setY(double);
friend std::ostream& operator<<(std::ostream& os, const Point& obj);
private:
double x;
double y;
};
inline std::ostream& operator<<(std::ostream& os, const Point& obj) {
os << "(" << obj.getX() << "," << obj.getY() << ")";
return os;
}
int main() {
Point * p = new Point(1, 42);
cout << *p << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgUG9pbnQgewpwdWJsaWM6CiAgIFBvaW50KCk7CiAgIFBvaW50KGRvdWJsZSB4LCBkb3VibGUgeSkgOiB4KHgpLCB5KHkpIHsgfQoKCiAgIGRvdWJsZSBnZXRYKCkgY29uc3QgeyByZXR1cm4geDsgfQogICBkb3VibGUgZ2V0WSgpIGNvbnN0IHsgcmV0dXJuIHk7IH0KICAgdm9pZCBzZXRYKGRvdWJsZSk7CiAgIHZvaWQgc2V0WShkb3VibGUpOwoKICAgZnJpZW5kIHN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0mIG9zLCBjb25zdCBQb2ludCYgb2JqKTsKcHJpdmF0ZToKICAgZG91YmxlIHg7CiAgIGRvdWJsZSB5Owp9OwoKaW5saW5lIHN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0mIG9zLCBjb25zdCBQb2ludCYgb2JqKSB7CiAgIG9zIDw8ICIoIiA8PCBvYmouZ2V0WCgpIDw8ICIsIiA8PCBvYmouZ2V0WSgpIDw8ICIpIjsKICAgcmV0dXJuIG9zOwp9CgppbnQgbWFpbigpIHsKCVBvaW50ICogcCA9IG5ldyBQb2ludCgxLCA0Mik7Cgljb3V0IDw8ICpwIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==