重载后面的内容应该不常用了吧,应该前面的也不常用(
重载流插入运算符和流提取运算符差不多就了解下他的本质就是位运算运算符就行,输出数据的时候注意优先级就行。
如果自己定义了一个类,想要直接输入输出的话,就要重载下>>
和<<
。
下面我们以全局函数的形式重载>>
,使它能够读入两个 double 类型的数据,并分别赋值给复数的实部和虚部:
istream & operator>>(istream &in, complex &A){
in >> A.m_real >> A.m_imag;
return in;
}
istream 表示输入流,**cin 是 istream 类的对象,只不过这个对象是在标准库中定义的。**之所以返回 istream 类对象的引用,是为了能够连续读取复数,让代码书写更加漂亮,例如:
complex c1, c2;
cin>>c1>>c2;
如果不返回引用,那就只能一个一个地读取了:
complex c1, c2;
cin>>c1;
cin>>c2;