C++复数加法重载操作

重载为友元

#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();
   
}

猜你喜欢

转载自blog.csdn.net/wwxy1995/article/details/80485347