#include <iostream>
using namespace std;
//5+2i
class complex
{
public:
complex(int real = 0,int image = 0)
:_real(real)
,_image(image)
{
}
complex operator+(const complex& c)
{
complex tmp;
tmp._real = this->_real + c._real ;
tmp._image = this->_image + c._image ;
return tmp;
}
complex& operator++()
{
this->_real = this->_real +this->_real ;
this->_image += this->_image ;
return *this;
}
complex& operator+=(const complex& c)
{
this->_real = this->_real +c._real ;
this->_image += c._image ;
return *this;
}
complex operator*(const complex& c)
{
complex tmp;
tmp._real = this->_real * c._real - this->_image * c._image;
tmp._image = this->_image * c._real + this->_real * c._image;
return tmp;
}
complex operator-(const complex& c)
{
complex tmp;
tmp._real = this->_real - c._real ;
tmp._image = this->_image - c._image ;
return tmp;
}
complex operator/(const complex& c)
{
complex tmp;
tmp._real = (this->_real * c._real + this->_image * c._image)/ (c._real * c._real +c._image * c._image);
tmp._image = (this->_image * c._real - this->_real * c._image)/ (c._real * c._real +c._image * c._image);
return tmp;
}
void printf()
{
cout<<"复数:"<<this->_real <<"+"<<this->_image <<"i"<<endl;
}
~complex()
{}
private:
int _real;
int _image;
};
int main()
{
complex c1(78,2);
complex c2(2,3);
c1.printf ();
c2.printf ();
complex tmp;
cout<<"+:"<<endl;
tmp = c1+ c2;
tmp.printf ();
cout<<"-:"<<endl;
tmp = c1 - c2;
tmp.printf ();
cout<<"*:"<<endl;
tmp = c1 * c2;
tmp.printf ();
cout<<"/:"<<endl;
tmp = c1 / c2;
tmp.printf ();
cout<<"++:"<<endl;
c1++;
c1.printf ();
cout<<"+=:"<<endl;
c1 += c2;
c1.printf ();
return 0;
}
复数类的实现
最新推荐文章于 2022-09-18 17:07:13 发布