C++运算符重载

1、格式:

返回值类型  operator   运算符名称(形参列表)

{

 

}

operator   运算符名称 :可以看成函数名。

2、不能重载的运算符:

长度运算符 sizeof    条件运算符  :  ?   成员选择符.    对象选择符.*    域解析运算符 ::

3、重载不能改变运算符的优先级和结合性。

4、重载不会改变运算符的用法,原先有几个操作数,操作数在左边还是右边,这些都不会改变。例如~右边只有一个操作数,+总是出现在两个操作数之间,重载后也必须如此。

5、运算符重载函数不能有默认的参数。

6、运算重载函数既可以作为类的成员函数,也可以作为全局函数(friend友元)。

7、将运算符重载函数作为类的成员函数时,二元运算符的参数只有一个,一元运算符不需要参数。因为少了的这个参数是隐含的。

如: complex  operator + (constcomplex  &  A)const

当执行 c3 = c1 + c2;

会被转换成: c3 = c1.operator +(c2);

外部:operator(c1,c2);

通过 this 指针隐士的访问 c1 的成员变量。

8、对象之间也可以赋值,对象之间的赋值是将成员变量依次拷贝,而不是将整个对象的内存按位拷贝。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值