2015-09-27 72 views
-2

我有一个类节点类似关系的类的集合。由于这个原因,我需要访问一些父母/孩子的功能,否则我想避开最终用户,因为他们只是混淆了建议的方法列表,没有任何意义,并且从外部使用时打破了非常糟糕的事情拥有“生态系统”。隐藏类名称空间外的成员

我想如果他们都会继承与虚拟占位符函数相同的基类,那么我可以访问受保护的成员,但显然不是。有没有一种方法可以隐藏类成员在特定名称空间或容器类之外访问,同时可以从内部访问?

+0

让他们私人和授予友谊必要,也许? –

+0

当您的设计选择几乎完全受某些IDE“建议的方法列表”中显示的内容影响时,我认为这是一个大问题。叹! –

回答

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 
    } 
}; 
相关问题