我有一组具有节点关系的类。因此,我需要访问一些父母/孩子的功能,否则我们要远离最终用户,因为他们只是混乱了建议的方法列表,没有意义,并且当他们从外面使用时打破了非常糟糕的事情自己的“生态系统”。
我想如果他们都使用虚拟占位符函数继承了相同的基类,那么我可以访问受保护的成员,但显然不是。有没有办法在可以从内部访问某个名称空间或容器类时隐藏类成员?
答案 0 :(得分:3)
如果你真的必须访问某些受保护/私人数据,你可以成为朋友类。
来自Wikipedia:
class B {
friend class A; // A is a friend of B
private:
int i;
};
class A {
public:
A(B& b) {
b.i = 0; // legal access due to friendship
}
};