隐藏受保护的功能和用户的成员?

时间:2010-11-14 14:52:20

标签: c++

我的类是事件驱动的,例如,public mouseClick()调用受保护的onMouseClick()。

我发现,如果用户的intellisense选择了所有受保护的智能感知器,那可能会令人费解。有没有办法以任何方式减少这种混乱?

由于

3 个答案:

答案 0 :(得分:1)

C ++中的成员访问控制适用于编译器,而不适用于用户。如果您真的需要,您应该使用ABCs作为接口并通过工厂创建对象。通过这种方式,您可以确保最终用户无需查看代码的任何非接口部分。

答案 1 :(得分:0)

智能感知的良好实施不应该接受它们。我认为没有太多可以做的以编程方式来防止它。

答案 2 :(得分:0)

intellisense使用

The editorbrwsable属性来了解用户是否应该看到该方法。虽然可以在intellisense中使用一个毯子选项来隐藏受保护的功能,但如果其他所有功能都失败了,你可以使用它。