- 运算符重载
- 运算符重载是一种形式的C++多态。
- 重载限制
- 重载后的运算符必须至少有一个操作数是用户定义的类型,这将防止用户为标准类型重载运算符。
- 使用运算符时不能违反运算符原来的句法原则。
- 友元(关键字:friend)
-
一般来说,访问私有类成员的唯一方法是使用类方法。C++使用友元函数来避开这种限制。
-
要让函数称为友元,需要在类声明中声明该函数,并在声明前加上关键字friend。
friend Time operator*(double m, const Time & t);
- 虽然
operator*()
函数在类声明中声明的,但它不是成员函数,因此不能使用成员运算符来调用。 - 虽然
operator*()
函数不是成员函数,但它与成员函数的访问权限相同。
- 虽然
-
友元类型
- 友元函数
- 友元类
- 友元成员函数
-
- 类的自动转换和强制类型转换
- 转换函数
- 必须是类方法
- 不能指定返回类型
- 不能有参数
- 转换函数