65,211
社区成员
发帖
与我相关
我的任务
分享#include<iostream>
using namespace std;
class base{
public:
virtual void a(){cout<<"a() in base\n";}
virtual void b(){cout<<"b() in base\n";}
virtual void c(){cout<<"c() in base\n";}
virtual void d(){cout<<"d() in base\n";}
virtual void e(){cout<<"e() in base\n";}
virtual void f(){cout<<"f() in base\n";}
};
class A:virtual public base{
public:
virtual void a(){cout<<"a() in A\n";}
virtual void b(){cout<<"b() in A\n";}
virtual void f(){cout<<"f() in A\n";}
};
class B:virtual public base{
public:
virtual void a(){cout<<"a() in B\n";}
virtual void b(){cout<<"b() in B\n";}
virtual void c(){cout<<"c() in B\n";}
};
class C:public A,public B{
public:
virtual void a(){cout<<"a() in C\n";}
virtual void d(){cout<<"d() in C\n";}
};
void main()
{
C cc;
base *pa = &cc;
pa->a();
pa->b();
pa->c();
pa->d();
pa->e();
pa->f();
}#include<iostream>
using namespace std;
class base{
public:
virtual void a(){cout<<"a() in base\n";}
virtual void b(){cout<<"b() in base\n";}
virtual void c(){cout<<"c() in base\n";}
virtual void d(){cout<<"d() in base\n";}
virtual void e(){cout<<"e() in base\n";}
virtual void f(){cout<<"f() in base\n";}
};
class A:virtual public base{
public:
virtual void a(){cout<<"a() in A\n";}
virtual void b(){cout<<"b() in A\n";}
virtual void f(){cout<<"f() in A\n";}
};
class B:virtual public base{
public:
virtual void a(){cout<<"a() in B\n";}
virtual void b(){cout<<"b() in B\n";}
virtual void c(){cout<<"c() in B\n";}
};
class C:public A,public B{
public:
virtual void a(){cout<<"a() in C\n";}
virtual void b(){cout<<"b() in C\n";} //这样
virtual void d(){cout<<"d() in C\n";}
};
int main()
{
C cc;
base *pa = &cc;
pa->a();
pa->b();
pa->c();
pa->d();
pa->e();
pa->f();
}