跟重载函数一样,C++也允许定义已有的运算符,通过运算符重载,像处理数据一样使用它们。
11.1 运算符重载
通过自加运算符,了解到只能对变量自加,而不能对对象自加。
11.2 在成员函数中实现自加
新定义一个成员函数,在成员函数内实现成员变量的自加。这种方法是可以,但是太low了。不是真正的对象自加。
11.3 重载前置自加运算符
认识一个新的关键字:operator。
用法:与运算符连用,成为运算重载函数,operator++(){++n;}。这样调用起来就比较优雅了。
为什么可以这样用:因为在C++中,所有的运算都是通过函数实现的,比如最简单的加法也是同样的道理,把参数传递到operator+(int, int)函数里。
11.4 创建临时对象
在operator函数里创建临时对象,并返回。这样,在对象自加之后就可以被赋值了。
11.5 创建无名临时对象
这是通过构造函数与operator函数配合使用,实现了成员变量的自加。但是这种方法会牺牲速度和内存空间,因此并不可取。
11.6 取消创建临时对象
利用上this指针。
11.7 重载后置自加运算符