二维点的输入输出
题目描述
补全代码,使得程序符合下文所述的输入输出规定。
关于输入
若干行,每行两个空格分隔的整数。
关于输出
与输入相同。
核心技巧
- 流运算符通常重载为友元。
参考答案
#include <iostream>
class Point {
int x, y;
public:
Point() = default;
Point(int x, int y) : x{x}, y{y} {}
friend std::istream& operator>>(std::istream& in, Point& p) {
return in >> p.x >> p.y;
}
friend std::ostream& operator<<(std::ostream& out, const Point& p) {
return out << p.x << ' ' << p.y;
}
};
int main() {
Point p;
while (std::cin >> p) {
std::cout << p << std::endl;
}
}