同名成员

在定义派生类的时候,C++语言允许派生类与基类中的函数名相同。如果在派生类中定义了与基类中相同的成员,则称派生类成员覆盖了基类的同名成员,在派生类中使用这个名字意味着访问在派生类中重新说明的成员。为了在派生类中使用基类的同名成员,必须在该成员名之前加上基类名和作用域标识符

基类名::成员名

访问声明 

在前面我们也知道,私有继承方式会改变访问属性,比如,在基类的公有成员,私有继承后,这个成员在派生类中就成为了私有成员了,外界不能直接访问,那么我们怎么解决这个问题呢。

公有继承时,基类的公有成员还是公有成员,我们还可以在外界访问。如果修改成私有继承呢

那么私有继承我们应该怎么使用私有成员的数据。

我们加入using *****语句就可以使用私有成员了

访问声明机制可以在私有派生类中个别调整从基类继承下来的成员性质,从而使外界可以通过派生类的界面直接访问基类的某些成员,而且不需要其他类成员的封装。

1)访问声明中只含不带类型和参数的函数名或变量名。如上图,不带类型和参数

2)访问声明不能改变成员在基类中的访问属性,也就是说,访问声明只能把源基类的保护成员调整为派生类的保护成员,把原基类的公有成员调整为私有派生的公有成员,但基类的私有成员不能直接访问使用。

3)对于基类中的重载函数名,访问声明将对基类中所有同名函数起作用,这意味着有重载函数时要小心使用。

4.3调整基类成员在派生类中的访问属性的方法相关推荐

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

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

  2. C++中public/private/protected三种继承方式下基类成员对派生类的可见性探讨

     原文: http://blog.csdn.net/zgjxwl/article/details/4804233 1.public继承方式下 #include <iostream>   ...

  3. 不同派生方式下基类成员在派生类中的可访问范围属性

    不同派生方式下基类成员在派生类中的可访问范围属性 派生方式 派生方式 派生方式 基类成员 公有派生 私有派生 保护派生 私有成员 不可访问 不可访问 不可访问 保护成员 保护 私有 保护 公有成员 公 ...

  4. 定义一个三角形类(TRI)及其派生类三角柱体类(COL)。其中三角形类可以计算三角形的面积和周长;三角柱体类可以计算柱体的体积和表面积。其具体要求如下: (1)TRI的成员如下:  私有数据成员 

    题目要求: 定义一个三角形类(TRI)及其派生类三角柱体类(COL).其中三角形类可以计算三角形的面积和周长:三角柱体类可以计算柱体的体积和表面积.其具体要求如下: (1)TRI的成员如下: 私有数据 ...

  5. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)

    1. 类的定义 类定义是以关键字 class 开头,后跟类的名称.并在它后面依次包含类名,一组放在 {} 内的成员属性和成员函数,以及结尾的分号. 类声明将类本身及其属性告诉编译器.类声明本身并不能改 ...

  6. php 派生类 构造,C++派生类的构造函数和析构函数

    派生类对象中包含基类对象,因此派生类对象在创建时,除了要调用自身的构造函数进行初始化外,还要调用基类的构造函数初始化其包含的基类对象.因此,程序中任何能够生成派生类对象的语句,都要说明其包含的基类对象 ...

  7. C++基类指针指向派生类(指针)

    我们常用基类指针指向派生类对象来实现多态性. 私有继承不允许基类指针指向派生类 基类指针只能访问到基类中含有的公有成员. 当用基类指针指向派生类对象在动态分配堆上内存的时候,析构函数必须是虚函数! 成 ...

  8. 7.试定义RECT类(长方形)及其派生类CUB(长方体)

    7.试定义RECT类(长方形)及其派生类CUB(长方体),具体要求如下: (1)类RECT的成员如下:(a)保护数据成员double x,y;分别表示长方形的长和宽.(b)公有成员函数 RECT(do ...

  9. C++的基类指针指向派生类对象,vector实现多态性

    添加问题: 练手创建一个表示各种不同包裹的继承层次. 在写代码时:要求vector来实现多态性 , 用基类指针变量指向子类对象. 前面的父类和子类定义: //创建一个表示各种不同包裹的继承层次 #in ...

最新文章

  1. java缓存流速度与硬盘_系统学习 Java IO (九)----缓冲流 BufferedInputStream/BufferedOutputStream...
  2. 基于WF4的新平台-表单格式
  3. mysql 包含非数字_mysql 正则表达式查询含有非数字和字符的记录
  4. sqlserver 多排序的问题
  5. VMP分析之VMP1.09虚拟化架构分析(二)
  6. Project Tango 的一些应用
  7. 《DSP using MATLAB》Problem 6.20
  8. 华为荣耀20和x10比较_荣耀X10和华为畅享20plus,到底哪个更值得入手?
  9. Idea查看文件结构,类似Eclipse中Ctrl+O
  10. Xna环境在PC平台下的功能扩展
  11. Excel两列的数据合并成一列
  12. 微信小程序 加载 fbx 模型
  13. 白蛋白纳米-超声微泡载组织型纤溶酶原激活物基因靶向制备研究
  14. 史上最全的鸿蒙学习资料——润和满天星系列Pegasus资料汇总
  15. PyTorch搭建LSTM实现时间序列预测(负荷预测)
  16. 超低频测试信号产生电路软件流程图,一种0_20Hz超低频信号发生器的设计与实现...
  17. 天猫精灵方糖AI智能音箱拆解报告
  18. 5G NR 基本概念
  19. Spring容器中的Bean是否会被GC呢?
  20. 深度学习之 自然语言处理BERT

热门文章

  1. shell脚本中的expectsend(周末不加班神器)
  2. NLP判断语言情绪_最新中文NLP开源工具箱来了!支持6大任务,面向工业应用 | 资源...
  3. yii2框架使用的第一天
  4. C++第八次作业(函数模板_指针)
  5. Mac必备一款全网视频播放器 - ZY Player
  6. 使用 vue-element-admin 开发后台管理系统【安装】
  7. 机器学习实战:小麦种子(封装函数进行调参、标准化、绘图查看数据分布)
  8. U盘文件被病毒隐藏无法查看,但是占用相应空间的恢复办法
  9. 如何快速找到机器学习领域最新最好的研究成果?
  10. 人们为什么玩游戏———节选自《游戏设计原理与实践》