第十四章:重载操作符与转换

1:一般将算术,关系操作符定义为非成员函数,而赋值操作定义为成员函数

2:|| &&以及,3个操作符一般不重载,破坏其求值顺序;

3:= [] () –> 操作符是必须为成员的

4:+= 等复合一般成员而非强制

5: ++ --等作为成员,而对称操作符为非成员,例如 + – / * == != >= <= | & ^ 等。

6:重载->有点特殊,在于它定义在类中,则当是对象调用时,会先过重载操作函数,接着返回标示符号,接着继续调用,还必须是指针的返回,否则不能继续调用。返回值必须是指向类类型的指针。供内置->操作符操作使用。(显然,可以是类类型,只不过是继续深入迭代而已)

7:重载操作的自增自减的后缀型必须是有个Int形参,编译器会传输0值过去。

8:()操作符,用在类中,调用时像函数那样调用,即使它是个对象不是函数;很容易迷惑呀。

9:转换操作符,operator type() const {}

10:类型转换,重载,构造函数,及其容易导致函数的二义性。

原文地址:https://www.cnblogs.com/miner007/p/4113022.html