重载为友元
#include<iostream>
using namespace std;
class complex
{
private:
int real;
int image;
public:
complex();
complex(int real_,int image_);
void show();
friend complex operator +(const complex &c1,const complex &c2)
{
return complex(c1.real+c2.real,c1.image+c2.image);
}
};
complex::complex()
{
real = 0;
image = 0;
}
complex::complex(int real_,int image_)
{
real = real_;
image = image_;
}
void complex::show()
{
if(image>0)
cout<<real<<"+j"<<image<<endl;
else if(image<0)
cout<<real<<"-j"<<-image<<endl;
else
cout<<real<<endl;
}
int main()
{
int r1,r2,i1,i2;
complex c;
cin>>r1>>i1;
cin>>r2>>i2;
complex a(r1,i1);
complex b(r2,i2);
a.show();
b.show();
c = a + b;
c.show();
}