覆盖(重写)

概念:

基类的虚函数,如果派生类有相同的函数,则子类的方法覆盖了父类的方法

隐藏

概念:

  • 当子类定义出的“成员变量、方法”与父类的重名时,父类的会被隐藏

  • 重点:对于函数,基类定义了一些列的重载函数,在派生类中只要有一个同名的函数(即使参数列表不一致),基类的这些重载函数全部会被隐藏

  • 如果想调用父类的成员变量、方法,需要加上父类的类名限定符

  • 备注:除了覆盖继承而来的虚函数之外,派生类最好不要隐藏在基类中的名字

C++类中覆盖与隐藏一直是一个容易理解出错的地方,接下来我就详细讲解一下区别在何处

覆盖指的是子类覆盖父类函数(被覆盖),特征是:

1.分别位于子类和父类中

2.函数名字与参数都相同

3.父类的函数是虚函数(virtual)

隐藏指的是子类隐藏了父类的函数(还存在),具有以下特征:

子类的函数与父类的名称相同,但是参数不同,父类函数被隐藏

子类函数与父类函数的名称相同,参数也相同,但是父类函数没有virtual,父类函数被隐藏

class father
{
public:void show1()
{

C++:41---覆盖和隐藏相关推荐

  1. 【原创】Performanced C++ 经验规则 第五条:再谈重载、覆盖和隐藏

    第五条:再谈重载.覆盖和隐藏 在C++中,无论在类作用域内还是外,两个(或多个)同名的函数,可能且仅可能是以下三种关系:重载(Overload).覆盖(Override)和隐藏(Hide),因为同名, ...

  2. c++成员函数的重载、覆盖、隐藏区别

    c++成员函数的重载.覆盖.隐藏区别 成员函数的重载.覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防. 重载与覆盖 成员函数被重载的特征: (1)相同的范围 ...

  3. 《C++成员函数重载、覆盖与隐藏》

    <成员函数的重载.覆盖与隐藏> ------------------------------------------------------------------------------ ...

  4. C++中的重载、覆盖、隐藏对比

    1.重载.重写(覆盖).隐藏三者概念解释 重载(overload):同一个可访问区域内被声明的几个具有不同参数列(参数的类型.个数.顺序不同)的同名函数.根据参数列表,最终确定调用哪个函数,重载不关心 ...

  5. 谈谈C++继承中的重载,覆盖和隐藏

    写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide).在早期的C++书籍中,可能 翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的 ...

  6. 【转】c++重载、覆盖、隐藏——理不清的区别

    原文网址:http://blog.sina.com.cn/s/blog_492d601f0100jqqm.html 再次把林锐博士的<高质量c++编程指南>翻出来看的时候,再一次的觉得这是 ...

  7. C++中类成员函数的重载、覆盖和隐藏的区别,超清楚!

    转载:https://www.cnblogs.com/liubo1/p/5925746.html 1.成员函数被重载的特征: (1)相同的范围(在同一个类中): (2)函数名字相同: (3)参数不同: ...

  8. Java中的覆盖和隐藏以及final关键字

    Java覆盖和隐藏 (1) 变量只能被隐藏(包括静态和非静态),不能被覆盖: (2) 可以用子类的静态变量隐藏父类的静态变量,也可以用子类的非静态变量隐藏父类的静态变量,也可以用非最终变量(final ...

  9. C# 虚方法(virtual)覆盖(override) - 隐藏(new) - 重载

    C# 虚方法(virtual)覆盖(override) - 隐藏(new) - 重载 using System; using System.Collections.Generic; using Sys ...

  10. java 覆盖和隐藏_Java方法的覆盖与隐藏的区别分析

    本篇文章介绍了,关于Java方法的覆盖与隐藏的区别分析.需要的朋友参考下 关于隐藏和覆盖的区别,要提到RTTI(run-time type identification)(运行期类型检查),也就是运行 ...

最新文章

  1. 彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战
  2. 逻辑回归实例--乳腺癌肿瘤预测
  3. LeetCode 100.相同的树(C++)
  4. python读取hdf5文件_Python处理HDF5文件
  5. Redis常见问题及其一些重点知识总结
  6. 洛谷 [P2964] 硬币的游戏
  7. app自动化之混合应用的测试(h5,小程序)
  8. 免费体验手机版MSN2.0
  9. [转]美国大杏仁并不是杏仁,而是扁桃仁
  10. 基本HTML标签语法整理
  11. Delphi2010启动报错cannot create file C:Users\ADMINI~1\AppDat...\EditorLineEnds.ttr
  12. cad隐藏图层命令快捷键_Auto CAD如何隐藏全部图层,快捷键是什么?
  13. python +selenium 实现教学质量评价自动化
  14. vue php聊天室,实时聊天室:基于Laravel+Pusher+Vue通过事件广播实现
  15. 小米助手android6版本暂未支持,小米助手连接不上小米5怎么办 小米助手显示不支持安卓6.0连接不上小米5解决方法...
  16. Python (python -m venv)命令创建虚拟环境
  17. MYSQL 时间格式化
  18. 测试用例具体的设计方法
  19. 研究生宿舍大盘点!令人羡慕的研究生宿舍来了!
  20. 无线传感器网络(期末重点)

热门文章

  1. windowsCE异常和中断服务程序初探(=)
  2. wince 环境变量
  3. 微型计算机键盘上的西服的间称为,一台完整的微型计算机主要由主机箱. .键盘.鼠标及音箱.打印机组成....
  4. java 登录编程_Java编程通过session访问需要登录的页面
  5. qt调用import sys库_Python模块之 sys 模块
  6. Linux部署动态网页,linux构建动态WEB服务器安装篇
  7. linux 指令引用变量,Linux之变量引用与命令替换
  8. 【转】WebSocket详解(一):初步认识WebSocket技术
  9. 第九节:基于MVC5+AutoFac+EF+Log4Net的基础结构搭建
  10. 【Python CheckiO 题解】Pawn Brotherhood