这是一个面试问题。我不是C++专家,所以我需要一些帮助来找到该问题的答案(我首先想了解这个问题...这是一个有效的问题吗?)
问题:
谢谢!
最佳答案
我认为
A
的定义A
对象中访问应该从B
中选择哪些方法的using
指令解决了您的问题。例子:class A
{
public: // or protected for that matter
void foo();
void bar();
};
class B : private A // or protected, depending on whether
// you want subclasses of B to expose
// some methods from A themselves
{
public:
using A::foo;
};
使
foo
可以从B
类使用,但不能使用bar
。但请注意,using A::foo
将暴露foo
的所有重载。关于C++ : restrict access to the superclass' methods selectively?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5245499/