文档库 最新最全的文档下载
当前位置:文档库 › 用重载运算符的方法进行复数运算

用重载运算符的方法进行复数运算

#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<<"+"; // image小于0,则自带-
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();
}

相关文档
相关文档 最新文档