虚基类怎么定义
虚基类是指被用作多重继承中共享基类的基类,它可以解决多重继承时出现的二义性问题。虚基类的定义方法如下:
在定义基类时,在类名前加上关键字virtual和关键字public,如下所示:
class Base1 : virtual public Base {
// ...
};
在派生类中继承虚基类时,也必须加上关键字virtual和关键字public,如下所示:
class Derived : virtual public Base1, virtual public Base2 {
// ...
};
需要注意的是,虚基类必须通过构造函数初始化列表进行初始化。例如:
Derived::Derived(int i, int j, int k)
: Base(i), Base1(i), Base2(j), member(k) {
// ...
}
其中,Base、Base1和Base2都是虚基类。
原文地址: https://www.cveoy.top/t/topic/fsSE 著作权归作者所有。请勿转载和采集!