讨论访问属性时,需要考虑以下几种情况:
1、基类的成员函数访问基类成员
2、派生类的成员函数访问派生类自己增加的成员
3、基类的成员函数访问派生类的成员
4、派生类的成员函数访问派生类的成员
5、在派生类外访问派生类的成员
6、在派生类外访问基类的成员
对于(1)和(2)的情况,即基类的成员函数访问基类成员,派生类的成员函数可以访问派生类成员,私有数据成员只能被同一类的成员函数访问,公用成员函数可以被外界访问。(3)种基类的成员函数只能访问基类的成员,而不能访问派生类的成员。(5)在派生类外可以访问派生类的公有成员,而不能访问派生类的私有成员。
对于(4)和(6)的情况不同的继承方式决定了基类成员在派生类的访问属性:
(1)公用继承(public inheritance)
基类的公有成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有
(2)私有继承(private inheritance)
基类的公有成员和保护成员在派生类中成了私有成员。其私有成员仍为基类私有
(3)受保护的继承(protected inheritance)
基类的公有成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。保护成员的意思是,不能被外界引用,但可以被派生类的成员引用。

派生类成员的访问属性相关推荐

  1. C++改变基类成员在派生类中的访问属性

    使用using声明可以改变基类成员在派生类中的访问属性.我们知道基类的公有成员经过公有继承,在派生类中其属性为public的,但是通过using 声明,我们可以将其改为private或protecte ...

  2. 4.3调整基类成员在派生类中的访问属性的方法

    同名成员 在定义派生类的时候,C++语言允许派生类与基类中的函数名相同.如果在派生类中定义了与基类中相同的成员,则称派生类成员覆盖了基类的同名成员,在派生类中使用这个名字意味着访问在派生类中重新说明的 ...

  3. 在继承中派生类成员的访问权限测试

    派生类对自身基类的private成员没有访问权限,对基类对象的protected成员没有访问权限,对派生类对象的(基类之外)的private和protected成员具有访问权限. 由于C++基础不好, ...

  4. c++ 私有内部类_C++类成员的访问权限以及类的封装

    "程序员大咖,一个分享编程知识的公众号.跟着站长一起学习,每天都有进步. 文章不涉及代码,不烧脑细胞,人人都可以学习. 当你决定关注「程序员大咖CodePush」,你已然超越了90%的程序员 ...

  5. C++类成员的访问权限以及类的封装

    C++通过 public.protected.private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的.受保护的.私有的,被称为成员访问限定符.所谓访问权限,就是你能不能使用该 ...

  6. 基类成员函数和派生类成员函数不构成重载

    基类成员和派生类成员的名字一样时会造成遮蔽,这句话对于成员变量很好理解,对于成员函数要引起注意,不管函数的参数如何,只要名字一样就会造成遮蔽.换句话说,基类成员函数和派生类成员函数不会构成重载,如果派 ...

  7. php 访问类成员,PHP类成员的访问方式和权限_PHP教程

    PHP5的访问方式允许限制对类成员的访问. 这是在PHP5中新增的功能,但在许多面向对象语言中都早已存在. 有了访问方式,才能开发一个可靠的面向对象应用程序,并且构建可重用的面向对象类库. 像C++和 ...

  8. Java——类成员的访问权限修饰符(private、protected、public、default)

    本文转载自:https://blog.csdn.net/qq_41420688/article/details/83348546 1. 作用 封装将数据和操作连接起来.封装的一个重要属性:访问控制. ...

  9. 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)

    面向对象编程 1 面向对象与面向过程 1.1 java类及类的成员 2 java语言的基本元素:类和对象 2.1 类的语法格式 2.2 创建Java自定义类 2.3 对象的创建及使用 3 类的成员之一 ...

最新文章

  1. 模拟video播放器
  2. markdown如何设置图片大小_Markdown编辑知乎文章的完全攻略
  3. MySQL-01-linux安装MySQL的两种方式及其遇到的问题
  4. Windows获取系统版本号
  5. 第12章 粒子同心圆(《Python趣味创意编程》教学视频)
  6. 入行||转行软件测试?写给迷惘的你
  7. python关于csv的查询系统_使用Python对csv文件操作
  8. win7常见问题汇总
  9. 三轴加速度传感器LIS3DH使用心得
  10. 【经验分享】30个使用Python编程的实践、建议和技巧
  11. APP稳定性测试神器之Monkey-随机事件测试
  12. Linux安装 VMware tools 工具的方法(转,已测试成功)
  13. php 微博获取粉丝,新浪API,提取微博账号的信息,粉丝数、微博数等
  14. oracle数据库的数据日增量怎么统计
  15. RabbitMq 有啥用
  16. 穷查理宝典-----第一章 (查理芒格传略、歌颂长者:芒格论晚年、忆念:晚辈谈芒格)
  17. 软考备战之计算机专业词汇
  18. yolov5 【v4.0】用自有数据集训练结果大比拼【5s,5m,5l,5x,5shpy】
  19. 微信小程序+UDP+wifi8266+l293d扩展板+Arduino uno遥控小车
  20. 柔性制造系统(FMS)实训QY-JDYT09

热门文章

  1. PHP代码审计18—PHP代码审计小结
  2. 全国大学生信息安全大赛线下赛crypto3题解
  3. OKEx货币对价格数量长度及精度
  4. AJAX与cooikes
  5. 史上最清晰的函数空间讲解
  6. 码分多址(CDMA)通信原理
  7. 为什么设计思维对产品设计有帮助?
  8. 获取realsense内参
  9. 用C语言写一个停车场管理系统代码
  10. 如何学习stm32,怎么学习stm32,不是仅仅看教程,照着写复制代码