1. 友元函数不是成员函数,不需要使用限定符,关键字friend加在原型前而不能加在定义前。只有类声明可以决定哪一个函数是友元,因此类声明仍然控制了哪些函数可以访问私有数据。
2. 只接受一个参数的构造函数定义了从参数类型带类类型的转换(含多个参数但除第一个参数外均提供了默认值也可)。如果使用关键字explicit限定了这种构造函数,则它只能用于显式转换。
3. C++为类提供的类型转换:
(1) 只有一个参数的类构造函数用于将类型与该参数相同的值转换为类类型。
(2) 被称为转换函数的特殊类成员运算符函数,用于将类对象转换为其他类型。
4. 将加法定义为友元可以让程序更容易适应自动类型转换。
5. 成员函数是类定义的一部分,通过特定对象调用,可隐式访问对象的成员而无需使用成员运算符;友元函数不是类的组成部分,不能隐式访问类成员。