运算符的重载 operator

一、运算符的重载

       运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型

       在复杂数据类型中,编译器不能识别运算符,如c++中,对象+对象,编译器无法知道怎么运算,所以就需要编写函数,实现相应功能。

不能重载的 运算符五个: ?:        .               .*       ::       szieof

二 自增运算符重载的实现 a++ ++a;

1. 类中的++操作符号重载之后必须保证其语意与全局++相同。

2.为了区分前后,用++()表示前自增,用++(int)后自增。(规定)

3.因为按照前自增的标准定义,应该支持"++++a"的语法,而且两次前自增都应该是对a对象的自身操作,如果返回A类型,那第二次前自增调用的是临时对象的前自增操作。


4.后自增应该返回"const Complex".这可以防止形如"a++++"的用法。

5.一般通过前自增操作来实现后自增操作符函数

三、this指针

this 这是指代本对象
this本来是个指针,*this的星号是取指针指向的内容,
所以,*this是整个对象,而this是指向本对象的指针

四、运算符的重载函数

异或、与等 操作符的重载

五、一般像类中的数据成员含有指针,就需要写拷贝构造函数,和赋值语句(杜绝浅拷贝、浅赋值)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值