继承关系的类之间发生的类型转换,有以下三个规则:
- 从派生类向基类的转换只对指针和引用类型有效;
- 派生类对象与基类对象之间实际不存在类型转换,但是在用派生类给基类赋值或初始化时,实际调用的是派生类中的基类构造函数。
- 基类向派生类不存在类型转换;(包括类类型及其引用和指针)
- 和其他任何成员一样,派生类向基类的类型转换(包括类对象及其引用和指针)也有可能由于访问限制而变得不可行。(只有当派生类公有的继承基类时,才能进行派生类向基类的转换,如果是保护或私有继承,则不能实现该转换)。
继承关系的类之间发生的类型转换,有以下三个规则: