派生类成员的访问属性
讨论访问属性时,需要考虑以下几种情况:
1、基类的成员函数访问基类成员
2、派生类的成员函数访问派生类自己增加的成员
3、基类的成员函数访问派生类的成员
4、派生类的成员函数访问派生类的成员
5、在派生类外访问派生类的成员
6、在派生类外访问基类的成员
对于(1)和(2)的情况,即基类的成员函数访问基类成员,派生类的成员函数可以访问派生类成员,私有数据成员只能被同一类的成员函数访问,公用成员函数可以被外界访问。(3)种基类的成员函数只能访问基类的成员,而不能访问派生类的成员。(5)在派生类外可以访问派生类的公有成员,而不能访问派生类的私有成员。
对于(4)和(6)的情况不同的继承方式决定了基类成员在派生类的访问属性:
(1)公用继承(public inheritance)
基类的公有成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有
(2)私有继承(private inheritance)
基类的公有成员和保护成员在派生类中成了私有成员。其私有成员仍为基类私有
(3)受保护的继承(protected inheritance)
基类的公有成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。保护成员的意思是,不能被外界引用,但可以被派生类的成员引用。
派生类成员的访问属性相关推荐
- C++改变基类成员在派生类中的访问属性
使用using声明可以改变基类成员在派生类中的访问属性.我们知道基类的公有成员经过公有继承,在派生类中其属性为public的,但是通过using 声明,我们可以将其改为private或protecte ...
- 4.3调整基类成员在派生类中的访问属性的方法
同名成员 在定义派生类的时候,C++语言允许派生类与基类中的函数名相同.如果在派生类中定义了与基类中相同的成员,则称派生类成员覆盖了基类的同名成员,在派生类中使用这个名字意味着访问在派生类中重新说明的 ...
- 在继承中派生类成员的访问权限测试
派生类对自身基类的private成员没有访问权限,对基类对象的protected成员没有访问权限,对派生类对象的(基类之外)的private和protected成员具有访问权限. 由于C++基础不好, ...
- c++ 私有内部类_C++类成员的访问权限以及类的封装
"程序员大咖,一个分享编程知识的公众号.跟着站长一起学习,每天都有进步. 文章不涉及代码,不烧脑细胞,人人都可以学习. 当你决定关注「程序员大咖CodePush」,你已然超越了90%的程序员 ...
- C++类成员的访问权限以及类的封装
C++通过 public.protected.private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的.受保护的.私有的,被称为成员访问限定符.所谓访问权限,就是你能不能使用该 ...
- 基类成员函数和派生类成员函数不构成重载
基类成员和派生类成员的名字一样时会造成遮蔽,这句话对于成员变量很好理解,对于成员函数要引起注意,不管函数的参数如何,只要名字一样就会造成遮蔽.换句话说,基类成员函数和派生类成员函数不会构成重载,如果派 ...
- php 访问类成员,PHP类成员的访问方式和权限_PHP教程
PHP5的访问方式允许限制对类成员的访问. 这是在PHP5中新增的功能,但在许多面向对象语言中都早已存在. 有了访问方式,才能开发一个可靠的面向对象应用程序,并且构建可重用的面向对象类库. 像C++和 ...
- Java——类成员的访问权限修饰符(private、protected、public、default)
本文转载自:https://blog.csdn.net/qq_41420688/article/details/83348546 1. 作用 封装将数据和操作连接起来.封装的一个重要属性:访问控制. ...
- 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)
面向对象编程 1 面向对象与面向过程 1.1 java类及类的成员 2 java语言的基本元素:类和对象 2.1 类的语法格式 2.2 创建Java自定义类 2.3 对象的创建及使用 3 类的成员之一 ...
最新文章
- 模拟video播放器
- markdown如何设置图片大小_Markdown编辑知乎文章的完全攻略
- MySQL-01-linux安装MySQL的两种方式及其遇到的问题
- Windows获取系统版本号
- 第12章 粒子同心圆(《Python趣味创意编程》教学视频)
- 入行||转行软件测试?写给迷惘的你
- python关于csv的查询系统_使用Python对csv文件操作
- win7常见问题汇总
- 三轴加速度传感器LIS3DH使用心得
- 【经验分享】30个使用Python编程的实践、建议和技巧
- APP稳定性测试神器之Monkey-随机事件测试
- Linux安装 VMware tools 工具的方法(转,已测试成功)
- php 微博获取粉丝,新浪API,提取微博账号的信息,粉丝数、微博数等
- oracle数据库的数据日增量怎么统计
- RabbitMq 有啥用
- 穷查理宝典-----第一章 (查理芒格传略、歌颂长者:芒格论晚年、忆念:晚辈谈芒格)
- 软考备战之计算机专业词汇
- yolov5 【v4.0】用自有数据集训练结果大比拼【5s,5m,5l,5x,5shpy】
- 微信小程序+UDP+wifi8266+l293d扩展板+Arduino uno遥控小车
- 柔性制造系统(FMS)实训QY-JDYT09