C++ 类访问控制

访问控制关键字

  1. public
  • 其后声明的所有的成员可以被所有人访问。
  1. priveta
  • 除了该类型的创建者和类的内部成员函数之外,任何人都不能被访问
  1. protected
  • 继承的结构可以访问protected成员,但是不能访问private成员。

友元

  • 允许显式地不属于当前结构的一个成员函数访问当前结构中的数据,他可以在该机构内部声明这个函数为friend(友元)一个friend 必须在一个结构内声明
  • 一个函数被声明为friend,就意味着它不是这个类的成员函数,但是确可以修改该类的私有成员,而且必须被列在该类的定义当中,因此可以认为他是一个特权函数。
  • friend 关键字,是为了解决一些实际问题,这也说明了这个语言是不纯的。(不是完全的面向对象语言)

对象布局

  • 访问说明符是结构的一部分,但是并不影响从这个结构创建对象,程序开始运行之前,所有的访问说明信息都消失了。访问说明信息是在编译期间消失的,在程序的运行期间,对象编程了一块储存区域。

  • class 和 struct 区别,class的成员默认为private,而struct的成员默认为public
  • 访问控制的真正价值体现在开发阶段中的防止越界。
  • 只有编译器知道类成员的保护级别。所有所有的访问保护检查都是由编译器来完成的,在运行期间不再检查。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,545评论 1 51
  • C++文件 例:从文件income. in中读入收入直到文件结束,并将收入和税金输出到文件tax. out。 检查...
    SeanC52111阅读 2,883评论 0 3
  • C++基础2:类与对象 1. 认识类与对象 什么是类(class)?类(class)是类型(type),是用户自定...
    jdzhangxin阅读 2,357评论 0 7
  • 今天是写作的第100天,回想起来,开始写作仿佛是昨天的发生事。 经历了精力消耗,提前规划,突破瓶颈,不再刻意,写多...
    暖暖的大树阅读 66评论 1 2
  • 话说,灵魂投到此世界的人,名叫宗无上,1990年12月生人,在九流学院读完大学,荒费了家人的几年存款,读的书,荒费...
    诡道一一阅读 335评论 0 0