运算符的重载 operator
一、运算符的重载
运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型
在复杂数据类型中,编译器不能识别运算符,如c++中,对象+对象,编译器无法知道怎么运算,所以就需要编写函数,实现相应功能。
不能重载的 运算符五个: ?: . .* :: szieof
二 自增运算符重载的实现 a++ ++a;
1. 类中的++操作符号重载之后必须保证其语意与全局++相同。
2.为了区分前后,用++()表示前自增,用++(int)后自增。(规定)
3.因为按照前自增的标准定义,应该支持"++++a"的语法,而且两次前自增都应该是对a对象的自身操作,如果返回A类型,那第二次前自增调用的是临时对象的前自增操作。
4.后自增应该返回"const Complex".这可以防止形如"a++++"的用法。
5.一般通过前自增操作来实现后自增操作符函数
三、this指针
this 这是指代本对象
this本来是个指针,*this的星号是取指针指向的内容,
所以,*this是整个对象,而this是指向本对象的指针
四、运算符的重载函数
异或、与等 操作符的重载
五、一般像类中的数据成员含有指针,就需要写拷贝构造函数,和赋值语句(杜绝浅拷贝、浅赋值)