一、多重继承:很少用,现代高级语言弃用多继承
1、基本语法:class D:public A,private B,protected C
{类D新增加的成员}
2、二义性:A类中有成员a,B类中有成员a,D类继承过来以后,a会出现二义性问题。
解决办法:1>对于重名情况,添加作用域,c.a=100;c.A::a=100;(这种写法)
2>对与基类中的成员由多份存储变为单一存储,虚继承。
二、虚继承
1、为什么需要虚继承?(虚基类的作用)
在一个类中保留间接共同基类的多份同名成员, 这种现象是人们不希望出现的。C++提供虚基类(virtual base class)的方法, 使得在继承间接共同基类时只保留一份成员。