33,311
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class A
{
public:
A()
:a(1)
{}
virtual void add()
{
cout << "A::add()" << endl;
}
int a;
};
class B : public A
{
public:
B()
:b(2)
{}
virtual void add()
{
cout << "B::add()" << endl;
}
virtual void FunB()
{
cout << "FunB()" << endl;
}
int b;
};
class C : public B
{
public:
C()
:c(4)
{}
virtual void add()
{
cout << "C::add()" << endl;
}
int c;
};
int main()
{
A* a = new C;
a->B::add();// error: 'B' is not a base of 'A'
return 0;
}
int main()
{
A* a = new C;
a->add();// error: 'B' is not a base of 'A'
return 0;
}