Complex基本操作的实现

Complex基本操作的实现_第1张图片

1)Complex.h

include

include

using namespace std;
class Complex
{
private:
double _Real;
double _Image;
public:
Complex()
{}
Complex(const double Real,const double Image)
:_Real(Real)
,_Image(Image)
{
_Real=Real;
_Image=Image;
}
Complex( const Complex& complex)
{
_Real=complex._Real;
_Image=complex._Image;
}
~Complex()
{

}
Complex& operator=(const Complex& complex)
{
Complex temp(_Real=complex._Real,_Image=complex._Image);
return *this;
}
Complex operator+(const Complex& complex)
{
Complex temp(_Real+complex._Real,_Image+complex._Image);
return temp;
}
Complex operator-(const Complex& complex)
{
Complex temp(_Real-complex._Real,_Image-complex._Image);
return temp;
}

Complex operator*(const Complex& complex)
{
Complex temp(_Real*complex._Real-_Image*complex._Image,_Real*complex._Image+_Image*complex._Real);
return temp;
}

Complex operator/(const Complex& complex)

{
Complex c;
c._Real=((_Real*complex._Real-_Image*complex._Image)/((complex._Image)(complex._Image)+(complex._Real)(complex._Real)));
c._Image=((_Image*complex._Real-_Real*complex._Image)/((complex._Image)(complex._Image)+(complex._Real)(complex._Real)));
return c ;
}
Complex& operator+=(const Complex& complex)
{
_Real+=complex._Real;
_Image+=complex._Image;
return *this;
}
Complex& operator-=(const Complex& complex)
{
_Real-=complex._Real;
_Image-=complex._Image;
return *this;
}
Complex& operator*=(const Complex& complex)
{
_Real=_Real*complex._Real-_Image*complex._Image;
_Image=_Real*complex._Image+_Image*complex._Real;
return *this;
}
Complex& operator/=(const Complex& complex)
{
_Real=((_Real*complex._Real-_Image*complex._Image)/((complex._Image)(complex._Image)+(complex._Real)(complex._Real)));
_Image=((_Image*complex._Real-_Real*complex._Image)/((complex._Image)(complex._Image)+(complex._Real)(complex._Real)));
return *this ;
}
bool operator >(const Complex& complex)
{
if((_Real>complex._Real)&&(_Image>complex._Image))
return 1;
else
return 0;
}
bool operator >=(const Complex& complex)
{
if((_Real>=complex._Real)&&(_Image>=complex._Image))
return 1;
else
return 0;
}
bool operator <(const Complex& complex);
bool operator <=(const Complex& complex)
{
if((_Real<=complex._Real)&&(_Image<=complex._Image))
return 1;
else
return 0;
}
bool operator ==(const Complex& complex)
{
if((_Real==complex._Real)&&(_Image==complex._Image))
return 1;
else
return 0;
}

bool operator !=(const Complex& complex)
{
if((_Real!=complex._Real)||(_Image!=complex._Image))
return 1;
else
return 0;
}
void display()
{
cout<<”(“<<_Real;
if(_Image>0)
cout<<”+”<<_Image<<”i)”<<;
else if(_Image<0)
cout<<_Image<<”i)”<<;
else
cout<<”)”<<;
}
};

2)Complex.cpp

include

include”Complex.h”

int main()
{
Complex complex(1.2,3.1);
complex.display();
Complex complex0,complex1,complex2,complex3,complex4,complex5;
complex1=complex;
complex1.display();
/*
complex0=complex2(complex);
complex0.display();
*/
complex3=complex1+complex;
complex4.display();
complex4=complex1-complex2;
complex4.display();
complex5=complex1*complex2;
complex5.display();
Complex complex6=complex3/complex4;
Complex complex7,complex8,complex9,complex10;
complex7+=complex1;
complex7.display();
complex8-=complex;
complex8.display();
complex9*=complex;
complex9.display();
complex10/=complex;
system(“pause”);
return 0;
}

你可能感兴趣的:(C++)