惊呆!Point竟然能这样输入输出
程序员文章站
2024-03-17 18:49:58
...
惊呆!Point竟然能这样输入输出
2021春季学期面向对象程序设计第五、六周课外练习
描述
程序填空
#include <iostream>
using namespace std;
class Point {
private:
int x;
int y;
public:
Point() { };
// 在此处补充你的代码
};
int main()
{
Point p;
while(cin >> p) {
cout << p << endl;
}
return 0;
}
输入
多组数据,每组两个整数
输出
对每组数据,输出一行,就是输入的两个整数
输入样例
2 3
4 5
输出样例
2,3
4,5
解析
很明显,我们要重载>>
和<<
这两个输入输出流的符号。同时发现,在Point
中,变量int x
和int y
被定义为私有变量,所以还要用到友元函数。完整代码如下:
#include <iostream>
using namespace std;
class Point {
private:
int x;
int y;
public:
Point() { };
// 在此处补充你的代码
friend istream& operator >>(istream &in, Point& p)
{
in >> p.x >> p.y;
return in;
}
friend ostream& operator <<(ostream &out, Point& p)
{
out<<p.x<<','<<p.y;
return out;
}
};
int main()
{
Point p;
while(cin >> p) {
cout << p << endl;
}
return 0;
}