- //虚基类用于在第二个类中访问和修改虚基类的public 中成员的值。
-
#include <iostream>
-
using namespace std;
-
class B0{//定义基类B0
-
public ://外部接口
-
B0(int n){nV=n;}
-
int nV;
-
void fun(){cout<<"Member of B0"<<endl;}
-
};
-
class B1: virtual public B0{//B0是虚基类,派生B1类
-
public ://新增外部接口
-
B1(int a):B0(a){}
-
int nV1;
-
};
-
class B2:virtual public B0{//B0是虚基类,派生B1类
-
public ://新增外部接口
-
B2(int a):B0(a){}
-
int nV2;
-
};
-
class D1:public B1,public B2{//派生类D1定义d
-
public ://新增外部接口
-
D1(int a):B0(a),B1(a),B2(a){}
-
int nVd;
-
void fun(){cout<<"Member of D1"<<endl;}
-
};
-
int main(){
-
D1 d1(1);
-
d1.nV=2;
-
d1.fun();
- }