封装
封装的意义
封装是C++面像对象三大特征之一。
封装的意义:
-
将属性和行为作为一个整体。
-
将属性和行为加以权限控制:
三种权限:- 公共权限 public 类内可以访问 类外可以访问。
- 保护权限 protected 类内可以访问 类外不可以访问。
- 私有权限 private 类内可以访问 类外不可以访问。
struct和class的区别
在C++中struct和class唯一的区别就在于默认的访问权限不同。
区别:
- struct 默认权限为公共
- class 默认权限为私有
class C1
{
int m_A; //默认是私有权限
};
struct C2
{
int m_A; //默认是公共权限
};
int main() {
C1 c1;
c1.m_A = 10; //错误,访问权限是私有
C2 c2;
c2.m_A = 10; //正确,访问权限是公共
system("pause");
return 0;
}
成员属性设置为私有
优点1:将所有成员属性设置为私有,可以自己控制读写权限。
优点2:对于写权限,我们可以检测数据的有效性。