类中的const属性应该是public还是protected?

时间:2009-11-26 00:15:08

标签: c++

我有一些属于const的属性,那么这些属性应该公开还是受保护?

我支持protected,因为它被一些派生类使用,但我的朋友认为,因为它是const,即使它是公开的也没有任何区别,这也是有道理的。

但是,当我学习cpp时,我想如果可能的话,我们应该尝试使属性受保护或私有,并使用访问器来改变它们?

感谢。

2 个答案:

答案 0 :(得分:4)

我认为如果它们与外部接口无关,它们应该是私有的或受保护的。如果你公开它们,有人可能会使用它们。如果你改变了实现,常量就会消失......哎呀!

答案 1 :(得分:2)

如果您希望其他类能够使用它们,请将它们公开。如果只有层次结构中的类需要它们,并且您希望避免不必要地混乱程序的命名空间,则可以使它们受到保护。

如果它是常量,那么为它创建一个读访问器是非常愚蠢的。写访问器不起作用。所以不要打扰。