好好好
2023-04-27 20:00 作者:bili_49463418430 | 我要投稿
基类和派生类之问可以进行隐含转换,即可以 将派生类对象、指针或引用赋值给基类对象、 指针或引用,反之则不行。因为派生类对象包 含了基类对象的全部成分,所以可以隐含转 换。 而将基类对象、指针或引用赋值给派生类对 象、指针或引用时,需要进行显示转换,即使 用派生类的类型转换符或静态类型转换函数。 1. 多重继承:如果派生类同时继承了多个基 类,那么从派生类向任意一个基类的隐含转换 都是安全的,但从派生类向其他基类的隐含转 换就不安全了。这是因为可能会有同名的成员 函数或变量,导致二义性。 2. 虚继承:在虚继承中,派生类与基类之间还 存在着一张虛基类表,需要遵循特定的规则进 行转换。从派生类向虚基类的隐含转换是安全 的,但从派生类向非虚基类的隐含转换就不安 全了,因为可能会访问到不属于派生类的部 分。