运算符重载流输入输出<< >>

2023-10-20 16:23:08 浏览数 (3)

流输入输出运算符 >> << 比较简单,C 提供了固定的格式,语法上并不是非常难,你只需要记住 istream 和 ostream 这两个类就可以了。本文使用了友元函数方式来实现。具体实现的代码如下,请注意看返回 istream 和 ostream 引用的原因是为了可以使用连续的>>或<<操作符来输入输出。

代码语言:javascript复制
#include 
using namespace std;
class Complex
{
public:
Complex(float x = 0, float y = 0)
:_x(x), _y(y) {}
friend istream& operator>>(istream& is, Complex& another);
friend ostream& operator<<(ostream& os, Complex& another);
private:
float _x;
float _y;
};
istream& operator>>(istream& is, Complex& another)
{
is >> another._x >> another._y;
return is;
}
ostream& operator<<(ostream& os, Complex& another)
{
os << another._x << “ “ <<  another._y << endl;
return os;
}
int main(int argc, char* argv[])
{
Complex c, c2;
// 考虑连等的情况,实现函数要返回 istream 对象的引用
cin >> c >> c2;
cout << c << c2;
return 0;
}

0 人点赞