欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

惊呆!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 xint 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;
}
相关标签: OUC OJ