C++虚继承处理菱形继承造成的问题
菱形继承:

第一个问题:资源浪费问题,因为C有很多重复的变量
第二个问题:二义性
对于第二个问题的二义性问题:可以直接说明所在域来解决简单的二义性问题
如下:

如果两个父类存在相同名字但是数据类型不同的成员变量被子类继承,可以用域名来解决二义性问题。但是要是同名字同类型的还存在了资源浪费的问题
要想同时解决两个问题,可以使用虚继承来解决


菱形继承:

第一个问题:资源浪费问题,因为C有很多重复的变量
第二个问题:二义性
对于第二个问题的二义性问题:可以直接说明所在域来解决简单的二义性问题
如下:

如果两个父类存在相同名字但是数据类型不同的成员变量被子类继承,可以用域名来解决二义性问题。但是要是同名字同类型的还存在了资源浪费的问题
要想同时解决两个问题,可以使用虚继承来解决

