类成员函数的重载,覆盖和隐藏的区别
2016-04-08 17:39
357 查看
1.成员函数被重载的特征:
相同的范围,在同一个类中
函数名字相同
参数不同
virtual关键字可有可无
2.覆盖是指派生类函数覆盖基类函数,特征:
不同的范围(分别位于派生类和基类)
函数名字相同
参数相同
基类函数必须有virtual关键字
3.隐藏是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
a.如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数都将被隐藏(注意别与重载混淆)
b.如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意不要与覆盖混淆)
相同的范围,在同一个类中
函数名字相同
参数不同
virtual关键字可有可无
2.覆盖是指派生类函数覆盖基类函数,特征:
不同的范围(分别位于派生类和基类)
函数名字相同
参数相同
基类函数必须有virtual关键字
3.隐藏是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
a.如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数都将被隐藏(注意别与重载混淆)
b.如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意不要与覆盖混淆)
相关文章推荐
- 组播的相关概念
- 路由基础概念解析
- 编程语言里的静态、动态、强类型、弱类型等概念介绍
- 浅析C#与C++相关概念的比较
- C/S和B/S两种架构的概念、区别和联系
- 带领大家学习javascript基础篇(一)之基本概念
- JDK、J2EE、J2SE、J2ME四个易混淆概念区分
- qt入门必备
- 鸟瞰数据结构的知识点全貌
- 基因芯片的相关概念
- 存储的一些基本概念(HBA,LUN)
- Android系统应用程序基本概念解读
- Trunk(端口汇聚)的概念与设置
- CDN概念
- oracle 11g RAC 的一些基本概念(四)
- weblogic集群介绍
- Java重要概念
- BizTalk中的英文名词和中文释义
- Linux中tty、pty、pts的概念区别
- Spark核心概念