#include <iostream>
class move
{
private:
double x, y;
public:
move(double x = .0, double y = .0) : x(x), y(y)
{
}
void show() const
{
std::cout << "x: " << x << ", y: " << y << std::endl;
}
move add(const move& m) const
{
return move(m.x + x, m.y + y);
}
void reset(double a = .0, double b = .0)
{
x = a;
y = b;
}
};
int main() {
move m(2.5, 2.5);
move new_move = m.add(move(2.5, 2.5));
new_move.show();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgbW92ZQp7CnByaXZhdGU6Cglkb3VibGUgeCwgeTsKCnB1YmxpYzoKCW1vdmUoZG91YmxlIHggPSAuMCwgZG91YmxlIHkgPSAuMCkgOiB4KHgpLCB5KHkpCgl7Cgl9CgkKCXZvaWQgc2hvdygpIGNvbnN0Cgl7CgkJc3RkOjpjb3V0IDw8ICJ4OiAiIDw8IHggPDwgIiwgeTogIiA8PCB5IDw8IHN0ZDo6ZW5kbDsKCX0KCQoJbW92ZSBhZGQoY29uc3QgbW92ZSYgbSkgY29uc3QKCXsKCQlyZXR1cm4gbW92ZShtLnggKyB4LCBtLnkgKyB5KTsKCX0KCQoJdm9pZCByZXNldChkb3VibGUgYSA9IC4wLCBkb3VibGUgYiA9IC4wKQoJewoJCXggPSBhOwoJCXkgPSBiOwoJfQp9OwoKaW50IG1haW4oKSB7Cgltb3ZlIG0oMi41LCAyLjUpOwoJbW92ZSBuZXdfbW92ZSA9IG0uYWRkKG1vdmUoMi41LCAyLjUpKTsKCW5ld19tb3ZlLnNob3coKTsKCXJldHVybiAwOwp9