【发布时间】:2012-12-15 02:06:43
【问题描述】:
假设我有 2 个我希望可见的类(在给定的头文件中)和一个作为其祖先的类,我希望仅对前面提到的两个类可见。如何实现这种在 C++ 中不可见的类功能?
【问题讨论】:
-
为什么?只需将其抽象化,这样它就不能被实例化,而是用作接口。这有用。
-
你可以命名它们,但我很确定你不能让它们完全无法访问
-
与其将类设为祖先,不如将其设为包含类,并使用私有实现drdobbs.com/cpp/making-pimpl-easy/205918714
-
如果他问怎么做,这也是我们的事:)
-
@obmarg:我也是这么说的。被命名空间不会真正 使类不可访问甚至都没有关系。如果您有类似
namespace implementation或namespace detail的课程,并且有些混蛋觉得无论如何都不得不使用它,只是因为它在技术上是可行的,那是他自己的问题。你已经明确了意图,这才是最重要的。如果在他们滥用您明确说明的意图后它崩溃并燃烧,并且他们来抱怨,请告诉他们...关闭。
标签: c++ oop visibility