通过运算符重载实现复数类的输入输出
#include<iostream>
#include<fstream>
using namespace std;
class Complex
{
friend ostream& operator<<(ostream& out,const Complex &c);
friend istream& operator>>(istream& in,Complex &c);
double R;
double I;
public:
Complex(double r=0,double i=0):R(r),I(i)
{
}
};
ostream& operator<<(ostream& out,const Complex &c)
{
out<<c.R<<'+'<<c.I<<'i';
return out;
}
istream& operator>>(istream& in,Complex &c)
{
in>>c.R>>c.I;
return in;
}
int main()
{
Complex c1(1.2,3.4);
/*std::cout<<c1;
ofstream fout("abc.txt");文件abc自动生成
fout<<c1;//在文件中输出
fout.close();
cin>>c1;*/
ifstream fin("abc.tet");
fin>>c1;
fin.close();
cout<<c1;
return 0;
}