Absolute C++心得(续1)

11、在重载操作符时,该操作符所包含的参数必须至少有一个是类类型。
重载操作时不能更改操作符所包含的参数个数。即不能把二元操作符重载成一元操作符。
操作符重载不会改变操作符的优先级。重载后的操作符和重载之前拥有相同的优先级。
重载的操作符不能包含默认参数。
=、[]、->和()只能作为类的(非静态)成员函数重载。

点操作符(.)、作用域说明符(::)、sizeof、三元操作符(?:)及(.*)不能被重载。

12、当定义一个成员函数或者成员操作符时,可以直接访问调用对象的私有成员亦是(或私有成员函数)。然而,不仅仅如此,我们还可以直接
访问该类任何对象的任何私有成员变量(或私有成员函数)。(见第29条)

13、作为友元的操作符或者函数必须在类的定义中列出其声明,就像在类中列出成员函数的声明一样,区别在于必须在函数声明前面加上关键字
friend。但是友元不是成员函数,不能在函数的定义的第一行中加上类修饰词。

14、不能对类类型的成员变量返回引用。只能返回常量类型。否则可以修改私有的成员变量,因为引用类型可以做为左值使用。

15、假设返回值的类型为T,那么一个函数的返回值有以下4种不同的方式:
1)返回一般的值,对应的函数声明为 T f();
这种返回值类型不能作为左值,而且返回值可以直接调用成员函数来修改,即使用f().mutator()。返回值可以调用复制构造函数。
2)返回常量值,对应的函数声明为const T f();
上1)相似,唯一不同在于返回值不能直

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值