设为首页 加入收藏

TOP

C++操作符重载及实现简单的复数类Complex
2017-07-06 10:22:21 】 浏览:6474
Tags:操作 重载 实现 简单 复数 Complex

操作符重载:

重载操作符是具有特殊函数名的函数,关键字operator后面接需要定义的操作符符号。

操作符重载也是一个函数,具有返回值和形参表。它的形参数目与操作符的操作数目相同。

函数调用操作符可以接受任意数目的操作数。

使用运算符重载可以提高代码的可读性。

返回类型 operate 操作符(参数列表);

可被重载操作符
不可被重载操作符

建议:

使用重载操作符,可以令程序更自然、更直观,而滥用操作符重载会使得类难以理解,在实践中很少发生明显的操作符重载滥用。但有些程序员会定义operator+来执行减法操作,当一个重载操作符不明确时,给操作符取一个名字更好,对于很少用的操作,使用命名函数通常比用操作符好,如果不是普通操作,没有必要为简洁而用操作符。

#include

using namespace std;

class Complex

{

public:

//构造函数

Complex(int real = 0, int image = 0)

:_real(real)

,_image(image)

{}

//析构函数

~Complex()

{}

//拷贝构造函数

Complex(Complex &c)

:_real(c._real)

,_image(c._image)

{}

//显示负数的实部和虚部

void display()

{

cout << "real:" << _real << endl;

cout << "image:" << _image << endl;

}

//运算符重载

Complex& operator=(const Complex& d)

{

_real = d._real;

_image = d._image;

return *this;

}

bool operator == (const Complex& d)

{

return (_real == d._real) && (_image == d._image);

}

bool operator != (const Complex& d)

{

return (_real != d._real) && (_image != d._image);

}

Complex operator+(const Complex& d)

{

Complex temp(0, 0);

temp._real = _real + d._real;

temp._image = _image + d._image;

return temp;

}

Complex operator-(const Complex& d)

{

Complex temp(0, 0);

temp._real = _real - d._real;

temp._image = _image - d._image;

return temp;

}

Complex& operator+=(const Complex& d)

{

_real += d._real;

_image += d._image;

return *this;

}

Complex& operator-=(const Complex& d)

{

_real -= d._real;

_image -= d._image;

return *this;

}

//前置++

Complex operator++()

{

_real++;

_image++;

return *this;

}

//后置++

Complex operator++(int)

{

Complex temp = *this;

_real++;

_image++;

return temp;

}

//前置--

Complex operator--()

{

_real--;

_image--;

return *this;

}

//后置--

Complex operator--(int)

{

Complex temp = *this;

_real--;

_image--;

return temp;

}

private:

int _real;

int _image;

};

int main()

{

Complex d1(5, 10);

Complex d2(7, 10);

d2.display();

system("pause");

return 0;

}

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++笔记之【Webservice】的那些事 下一篇C++笔记之【Webservice调用】的那..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目