您的位置:首页 > 其它

复数类:class Complex

2017-07-01 19:48 323 查看
#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
using namespace std;

class Complex
{
public:

//构造函数
Complex(double real = 0.0, double image = 0.0)
:_real(real)
,_image(image)
{
;
}

//拷贝构造
Complex(const Complex& c)
:_real(c._real)
,_image(c._image)
{
;
}

//析构
~Complex()
{
;
}

void Display()
{
cout<<"实部:"<<_real<<"  虚部:"<<_image<<endl;
}

bool operator>(const Complex&) const;
bool operator<(const Complex&) const;
bool operator==(const Complex&) const;
bool operator!=(const Complex&) const;
Complex operator+(const Complex&) const;
Complex& operator=(const Complex&);
Complex& operator+=(const Complex&);
Complex& operator++(); //前置++
Complex operator++(int); //后置++

private:
double _real;
double _image;
};

bool Complex::operator>(const Complex& c) const
{
return _real > c._real && _image > c._image;
}

bool Complex::operator==(const Complex& c) const
{
if (_real == c._real && _image == c._image)
{
return true;
}
return false;
}

bool Complex::operator<(const Complex& c) const
{
return !(*this>c || *this==c);
}

bool Complex::operator!=(const Complex& c) const
{
return !(*this == c);
}

Complex Complex::operator+(const Complex& c) const
{
Complex tmp;
tmp._real = _real + c._real;
tmp._image = _image + c._image;
return tmp;
}

Complex& Complex::operator+=(const Complex& c)
{
_real += c._real;
_image += c._image;
return *this;
}

Complex& Complex::operator++()	//前置++,返回++以后的值
{
_real += 1;
return *this;
}

Complex Complex::operator++(int) //后置++,返回++以前的值
{
Complex tmp(*this);
tmp._real += 1;
return tmp;
}

Complex& Complex::operator=(const Complex& c)
{
if(this != &c)	//防止自己给自己赋值,注:a和b值一样的话也会赋值
{
_real = c._real;
_image = c._image;
}
return *this;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: