同名成员

在定义派生类的时候,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. 计算机网络分类(按覆盖范围分类)“名称、范围”
  2. 将可执行程序的内存空间扩展到3GB(windows)
  3. bootstrap-table表格插件的使用案例
  4. Scriptis安装(基于Linkis开发的数据分析工具)
  5. 小米miui系统已停止服务器,小米两款机型停止 MIUI 更新,明天发布最终体验版固件...
  6. 优朋普乐大数据_优朋普乐邵以丁:用大数据全面洞察需求
  7. 神龙架构没那么难理解—图解世界领先的阿里云神龙架构(一)缘起
  8. 石青建站养站大师 v1.8.6.1
  9. erp框架 saas_传统ERP软件和SaaS管理软件的区别
  10. OpenShift 4 Tekton - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline
  11. 【二分图】【最大匹配】【匈牙利算法】CODEVS 2776 寻找代表元
  12. bootstrap中日历组件只显示年月
  13. goldengate mysql双向_Oracle使用goldengate分别向Oracle和mysql双路的单向复制
  14. Flutter之GlobalKey详解
  15. 小写金额转换成大写金额
  16. 完全删除conime.exe 程序。。。
  17. python 画三角函数_如何用python表示三角函数
  18. windows系统文件简述
  19. Dreamweaver cs 6无法添加浏览器 亲测有效!!!
  20. python语法31[函数]

热门文章

  1. 介绍一种超简单的化工厂人员定位系统方案
  2. spring Aop实现日志
  3. 如何安装 Magisk
  4. 2022全球数商大会顺利举行,合合信息旗下启信宝斩获年度数据产品奖
  5. 5G与区块链发展分析
  6. 【Fidder网络抓包+Python爬虫】下载微信小程序视频
  7. Kubeadm部署Kubernetes1.18.6集群1
  8. 游戏开发学习路线--书籍
  9. 如何清除搜索框内的搜索历史记录?
  10. stm32f103c8t6通过max31865-pt100测温,软件spi通信串口1输出