我有一些属于const的属性,那么这些属性应该公开还是受保护?
我支持protected,因为它被一些派生类使用,但我的朋友认为,因为它是const,即使它是公开的也没有任何区别,这也是有道理的。
但是,当我学习cpp时,我想如果可能的话,我们应该尝试使属性受保护或私有,并使用访问器来改变它们?
感谢。
答案 0 :(得分:4)
我认为如果它们与外部接口无关,它们应该是私有的或受保护的。如果你公开它们,有人可能会使用它们。如果你改变了实现,常量就会消失......哎呀!
答案 1 :(得分:2)
如果您希望其他类能够使用它们,请将它们公开。如果只有层次结构中的类需要它们,并且您希望避免不必要地混乱程序的命名空间,则可以使它们受到保护。
如果它是常量,那么为它创建一个读访问器是非常愚蠢的。写访问器不起作用。所以不要打扰。