不使用public成员变量可以有很多的好处。
1) 语法一致性。当成员变量是private时,你只能通过函数访问它们。那么对类的成员的调用都需要带"()"了
2) 可以提供访问控制。如果成员变量为public时,每个人都可以访问它们。当为private时,你可以实现只读,只写等的访问。
3) 类的封装。如果你通过函数访问成员变量,可以为所有的可能的实现提供弹性。public意味着不封装。
注意:protected成中变量和public成员变量的性质相似。从封装的角度来说,其实只有两种访问权限:private(封装)和其他(不封装)。所以成员变量最好是声明为private,而不是其它。
总结:
1) 切记将趸变量声明为private,这可赋予客户访问数据的一致性,可划分访问控制,允诺约束条件获得何证。并提供class作者以充分的实现弹性
2) protected并不比public更具封装性
Effective C++读书笔记之将成员变量声明为private
最新推荐文章于 2025-03-24 20:15:00 发布