引入虚基类就是为了解决什么问题?怎样定义虚基类?带有虚基类的派生类的构造函数有什么特点?
举一反三
- 关于虚基类,下列描述正确的是( ) A: 虚基类用于解决浅复制的问题 B: 虚基类用于解决访问二义性的问题 C: 虚基类不能解决派生类继承得到的同一基类成员的多份拷贝问题 D: 实例化对象时,所有派生类的构造函数都会调用虚基类的构造函数
- 怎样定义基类虚方法,并在派生类中重写基类虚方法?
- 下列关于友元的描述中,错误的是( )。 A: 在建立虚基类的派生对象时,只有最远派生类的构造函数调用虚基类的构造函数。 B: 在建立虚基类的派生对象时,虚基类构造函数的调用次数与虚基类下面的派生类个数有关。 C: 设置虚基类的目的是消除二义性 。 D: 虚基类可以实例化一个或多个对象。
- “虚基类”是通过什么方式定义的?如果类A有派生类B、C,类A是类B虚基类,那么它也一定是类C的虚基类吗?为什么? 具有虚继承的类体系中,建立派生类对象时,以什么顺序调用构造函数?请用简单程序验证你的分析
- 带有基类的多层派生类构造函数的成员初始化列表中都要排出虚基类的构造函数,这样将对虚基类的子对象初始化: