7.3访问控制与封装
在C++中,我们使用访问说明符加强类的封装性:
- 定义在public说明符之后的成员在整个程序内可被访问,public成员定义类的接口。
- 定义在private说明符之后的成员可以被类的成员函数访问,但不能被使用该类的代码访问,private部分封装了(隐藏)类的实现细节。成员函数作为接口访问封装的成员数据。
struct和class的唯一区别就是struct默认访问权限是public,而class的默认访问权限是private。
封装主要有两个优点:
- 确保用户代码不会无意间破坏封装对象的状态。
- 被封装的类的具体实现细节可以随时改变,而无需调整用户级别的代码。