纠结的东西:

private,public,protected方法的访问范围.(public继承下)
private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问. 
protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问 
public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问
注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数

A.在无继承的情况下,类内部可以随意访问,即使是private;类外部无法访问protected/private成员 .

B.在有继承的情况下,

       (先确定类继承方式,

        再确定继承后子类的新成员属性,

        最后确定子类内部/外部的访问权限:!!!此时即使是在子类的内部也不能访问父类的private

         )

1.若是public继承的话,父类的public/protected/private属性继承到子类时,均不会变化(新成员)

              在子类内部访问时,无法访问父类的private(对比:在无继承时,类内可随便访问)

              在子类外部访问时,无法访问子类的新成员protected/private

2.若是protected继承的话,父类的public/protected/private属性继承到子类时,会变化为(新成员)protected/protected/private

              在子类内部访问时,无法访问父类的private(对比:在无继承时,类内可随便访问)

              在子类外部访问时,无法访问子类的新成员protected/private

3.若是private继承的话,父类的public/protected/private属性继承到子类时,会变化为(新成员)private/private/private

              在子类内部访问时,无法访问父类的private(对比:在无继承时,类内可随便访问)

              在子类外部访问时,无法访问子类的新成员protected/private

第五:保护继承与私有继承

         从上面的结果来看,私有继承和保护继承作用完全一样。仔细一想其实还是有区别,区别是如果派生类再一次去派生其它类时,对于刚才的私有继承来说,再派生的类将得不到任何成员。而对于刚才的保护继承,仍能够得到基类的公有和保护成员。

  A类(基类) B类(A的派生类) C类(B的派生类)
公有继承 公有成员 公有成员 公有成员
私有成员 (无) (无)
保护成员 保护成员 保护成员
私有继承 公有成员 私有成员 (无)
私有成员 (无) (无)
保护成员 私有成员 (无)
保护继承 公有成员 保护成员 保护成员
私有成员 (无) (无)
保护成员 保护成员 保护成员

最新文章

  1. 死性不改ISO9000系列系统 2011q4~2016q1
  2. word里的代码格式,使之有底纹的效果
  3. Mastering Web Application Development with AngularJS 读书笔记-前记
  4. avalon实现一个简单的带增删改查的成绩单
  5. Sprint第一个冲刺(第十一天)
  6. jenkins+jmeter+ant搭建接口测试平台
  7. Oracle连乘聚合函数 MUL
  8. 微软企业库5.0学习-Security.Cryptography模块
  9. 最新搭建GIT服务器仓库
  10. 和阿文一起学H5-文字云制作
  11. MVC(Model View Controller)框架
  12. hdu1151 Air Raid 二分匹配
  13. 前端的UI设计与交互之设计原则篇
  14. 使用LRU算法缓存图片,android 3.0
  15. 如何使用ZOL一键安装器下载中关村在线的源安装包
  16. mysql更新字段内容
  17. 转载:java中Thread.sleep()函数使用
  18. H - Gold Coins(2.4.1)
  19. POJ - 1287 Networking 【最小生成树Kruskal】
  20. Kotlin新语言简介和快速入门知识点

热门文章

  1. Nginx简单总结
  2. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem A. A + B
  3. Codeforces Round #515 (Div. 3)
  4. 数据库操作类——C#
  5. DELPHI - How to use opendialog1 for choosing a folder? TOpenDialog, TFileOpenDialog
  6. Spartan6 slave SelectMap configuration fails owing to JTAG?
  7. bitnami redmine配置全过程
  8. [Go] 跨平台文件系统监控工具 fsnotify 应用举例
  9. 【Go命令教程】8. go test
  10. lufylegend:图形变形2