从Intellisense和/或某些“客户”隐藏类的方法?

时间:2009-06-22 14:28:57

标签: c++ visual-studio visual-c++

我知道如何为C ++ / CLI和.NET执行此操作,但C ++没有属性。场景是这样的:

我们希望在二进制文件中提供一些方法,但我们不希望所有客户都使用它们。如果客户需要它,我们可以告诉他签名是什么,或者给他发送另一个非二进制文件。

1 个答案:

答案 0 :(得分:2)

我认为你无法控制它。由于您必须发布库的头文件,因此您将公开整个界面,即使不通过intellisense也是如此。

但是,您应该认为还有其他工具在做同样的事情,许多开发人员都在使用它们(例如Visual Assist)。

如果你需要隐藏一些实现细节,更好的解决方案是应用pimpl习惯用法并在头文件中提供具有“公共”可用方法的接口类。

实现类只包含在包含已编译的cpp文件中,并且只在public头文件中声明转发。