访问控制关键字
- public
- 其后声明的所有的成员可以被所有人访问。
- priveta
- 除了该类型的创建者和类的内部成员函数之外,任何人都不能被访问
- protected
- 继承的结构可以访问protected成员,但是不能访问private成员。
友元
- 允许显式地不属于当前结构的一个成员函数访问当前结构中的数据,他可以在该机构内部声明这个函数为friend(友元)一个friend 必须在一个结构内声明
- 一个函数被声明为friend,就意味着它不是这个类的成员函数,但是确可以修改该类的私有成员,而且必须被列在该类的定义当中,因此可以认为他是一个特权函数。
- friend 关键字,是为了解决一些实际问题,这也说明了这个语言是不纯的。(不是完全的面向对象语言)
对象布局
- 访问说明符是结构的一部分,但是并不影响从这个结构创建对象,程序开始运行之前,所有的访问说明信息都消失了。访问说明信息是在编译期间消失的,在程序的运行期间,对象编程了一块储存区域。
类
- class 和 struct 区别,class的成员默认为private,而struct的成员默认为public
- 访问控制的真正价值体现在开发阶段中的防止越界。
- 只有编译器知道类成员的保护级别。所有所有的访问保护检查都是由编译器来完成的,在运行期间不再检查。
网友评论