64,644
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class Complex
{
private:
double m_dReal;
double m_dImage;
public:
Complex(double real=0,double image=0)
{
this->m_dReal = real;
this->m_dImage =image;
}
friend Complex operator+(Complex com1,Complex com2);//友元函数重载双目运算符+
void ShowSum();
};
Complex operator+(Complex com1,Complex com2)//友元函数重载双目运算符+
{
return Complex(com1.m_dReal+com2.m_dReal,com1.m_dImage+com2.m_dImage);//注意这里的返回方式
}
void Complex::ShowSum()
{
cout<<m_dReal;
if(m_dImage>0)
{
cout<<"+";
}
if(m_dImage!=0)
{
cout<<m_dImage<<"i"<<endl;
}
}
int main()
{
Complex com1(10,10),com2(20,-20),sum;
sum = operator+(com1,com2);
//sum = com1 + com2;//或sum=operator+(com1,com2)
sum.ShowSum();
//cout<<"sum的实数部分为"<<sum.m_dReal<<endl;
//cout<<"sum的虚数部分为"<<sum.m_dImage<<endl;
return 0;
}