#include<iostream.h>
class CComplex
{
double m_fReal,m_fImag;
public:
CComplex(double r=0,double i=0):m_fReal(r),m_fImag(i){}
double GetReal(){return m_fReal;}
double GetImag(){return m_fImag;}
CComplex operator +(CComplex&);
CComplex operator +(double);
};
CComplex CComplex::operator +(CComplex &c)
{
CComplex temp;
temp.m_fReal=m_fReal+c.m_fReal;
temp.m_fImag=m_fImag+c.m_fImag;
return temp;
}
CComplex CComplex::operator +(double d)
{
CComplex temp;
temp.m_fReal=m_fReal+d;
temp.m_fImag=m_fImag;
return temp;
}
int main()
{
CComplex c1(2.3,5.5),c2(3.6,6.8),c3;
cout<<"使用重载运算符实现复数与复数的相加"<<endl;
cout<<"c1="<<c1.GetReal()<<"+j"<<c1.GetImag()<<endl;
cout<<"c2="<<c2.GetReal()<<"+j"<<c2.GetImag()<<endl;
c3=c1+c2;
cout<<"c3="<<c3.GetReal()<<"+j"<<c3.GetImag()<<endl;
cout<<"使用重载元运算符实现复数与实数的相加"<<endl;
c3=c3+6.5;
cout<<"c3="<<c3.GetReal()<<"+j"<<c3.GetImag()<<endl;
return 0;
}