代码如下:
#include<iostream>
using namespace std;
class Base {
public:
void fun(){cout<<"Base::fun"<<endl;}
virtual void f() { cout << "Base::f" << endl; }
virtual void g() { cout << "Base::g" << endl; }
virtual void h() { cout << "Base::h" << endl; }
int a;
int b;
};
class Base2:virtual public Base
{
public:
virtual void fun2(){cout<<"Base2::fun2"<<endl;}
virtual void f() { cout << "Base2::f" << endl; }
virtual void g() { cout << "Base2::g" << endl; }
virtual void h() { cout << "Base2::h" << endl; }
int a;
int b;
};
class Base3:virtual public Base
{
public:
virtual void fun3(){cout<<"Base3::fun3"<<endl;}
virtual void f() { cout << "Base3::f" << endl; }