Archive for 11 月, 2010

C++ Primer Chapter14

星期二, 16 11 月, 2010

1、重载操作符必须具有至少一个类类型或枚举类型的操作数。这条规则强制重载操作符不能重新定义用于内置类型对象的操作符的含义。

操作符的优先级、结合性或操作数数目不能改变。

除了函数调用操作符operater()之外,重载操作符时使用默认实参是非法的。

2、在&&和||的重载版本中,两个操作数都要进行求值,而且对操作数的求值顺序不做规定。因此,重载&&、||或逗号操作符不是一种好的做法。

3、作为类成员的重载函数,其形参看起来比操作数数目少1。作为成员函数的操作符有一个隐含的this形参,限定为第一个操作数。

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

4、一般而言,输出操作符应输出对象的内容,进行最小限度的格式化,它们不应该输出换行符。

5、后缀式操作符函数接受一个额外的(即无用的)int型形参。

6、转换函数采用如下通用形式:operater type()

转换函数必须是成员函数,不能指定返回类型,并且形参表必须为空。

转换函数一般不应该改变被转换的对象。因此,转换操作符通常定义为const成员。

只能应用一个类类型转换。