假设我有三个类A,B和C.B类继承自A类,继承是私有的,而C类继承自B,继承是public。现在,A类具有C类想要访问的受保护函数。因此,必须在B类中做些什么才能使C类保护功能可用。
以下是代码的链接:http://pastebin.com/9E2sLZzj
答案 0 :(得分:0)
"使用" keyword使继承类的成员在其子类的范围内可见且可解析。因此,要使私有继承的成员可用于B
的子类:
class A {
protected:
void foo() {}
};
class B : private A {
protected:
using A::foo;
};
class C : public B {
void bar()
{
foo();
}
};
答案 1 :(得分:0)
好的,我得到了解决方案 将此代码片段插入B类后,该代码片段就可以工作了。
int get(){
return A::get();
}
不知道它做了什么