#include
class complex
{
float real,imag; // 复数的实部和虚部
public:
complex(float r=0,float i=0)
{real=r;imag=i;}
void print();
friend complex operator +(complex a,complex b);
friend complex operator -(complex a,complex b);
friend complex operator *(complex a,complex b);
friend complex operator /(complex a,complex b);
};
void complex::print()
{
cout<
if(imag!=0) cout<
complex operator+(complex a,complex b)
{
complex temp;
temp.real=a.real+b.real;
temp.imag=a.imag+b.imag;
return temp;
}
complex operator-(complex a,complex b)
{
complex temp;
temp.real=a.real-b.real;
temp.imag=a.imag-b.imag;
return temp;
}
complex operator*(complex a,complex b)
{
complex temp;
temp.real=a.real*b.real-a.imag*b.imag;
temp.imag=a.real*b.imag+a.imag*b.real;
return temp;
}
complex operator/(complex a,complex b)
{
complex temp;
float tt;
tt=1/(b.real*b.real+b.imag*b.imag);
temp.real=(a.real*b.real+a.imag*b.imag)*tt;
temp.imag=(b.real*a.imag-a.real*b.imag)*tt;
return temp;
}
void main()
{
complex c1(2.3,4.6),c2(3.6,2.8),c3;
c1.print();
c2.print();
c3=c1+c2;
c3.print();
c3=c1-c2;
c3.print();
c3=c1*c2;
c3.print();
c3=c1/c2;
c3.print();
}