您的位置:首页 > 其它

重载流插入运算符<<和流提取运算符>>

2012-09-19 22:33 246 查看
#include<iostream.h>
class Complex{
public:
Complex(){real=0;imag=0;}
Complex(double r,double i){real=r;imag=i;}
Complex operator+(Complex & c2);
friend ostream & operator<<(ostream & output,Complex &c);
private:
double real;
double imag;
};

Complex Complex::operator + (Complex &c2)
{
return Complex(real+c2.real,imag+c2.imag);
}

ostream & operator<<(ostream & output,Complex &c)
{
output<<"("<<c.real <<"+"<<c.imag <<"i)"<<endl;
return output;
}

int main()
{
Complex c1(2,4),c2(6,10),c3;
c3=c1+c2;
cout<<c3;
return 0;
}


#include<iostream.h>
class Complex{
public:
Complex(){real=0;imag=0;}
//Complex(double r,double i){real=r;imag=i;}
//Complex operator+(Complex & c2);
friend ostream & operator<<(ostream & output,Complex &c);
friend istream & operator>>(istream & input,Complex &c);
private:
double real;
double imag;
};

//Complex Complex::operator + (Complex &c2)
//{
//	return Complex(real+c2.real,imag+c2.imag);
//}

ostream & operator<<(ostream & output,Complex &c)
{
output<<"("<<c.real <<"+"<<c.imag <<"i)"<<endl;
return output;
}

istream & operator>>(istream & input,Complex &c)
{
cout<<"input real part and imag part of complex number:";
input>>c.real>>c.imag;
return input;
}

int main()
{
Complex c1,c2;
cin>>c1>>c2;
cout<<"c1="<<c1<<endl;
//cin>>c2;
cout<<"c2="<<c2<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: