C++中重写和重载以及隐藏

原创 2016年08月31日 13:49:49

    C++中类的成员函数重写(覆盖),重载和隐藏概念常容易混淆,如下以表格形式做一个简单梳理:


作用域

函数名

参数列表

是否虚函数

注意点

重载

相同,函数都是同一类成员函数

相同

不同(类型,个数)

不关心

1.不同通过返回值类型不同实现重载;

2.参数顺序不同不能实现重载;

重写(覆盖)

不同,通常派生类重写基类成员函数

相同

相同

基类必须是虚函数

1.重写与被重写函数返回值也要一致;

2.被重写函数不能是私有的;

3. 静态函数不能重写;

隐藏

不同,通常派生类隐藏基类成员函数

相同

不关心

不关心

通常要注意避免隐藏



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

浅谈C++中的重载、覆盖(重写)、隐藏

转自:http://www.cppblog.com/ace/archive/2006/04/25/6243.html 写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(o...

C++_重载、重写(覆盖)和隐藏的区别:

成员函数重载(overload)的特征: 1、相同的范围(在同一个类中); 2、函数名相同; 3、函数参数个数或者函数参数类型不相同; 4、virtual关键字可有可无。 作用:同一方法,根...

C++中重载、重写(覆盖)和隐藏的区别实例分析

这篇文章主要介绍了C++中重载、重写(覆盖)和隐藏的区别,是C++面向对象程序设计非常重要的概念,需要的朋友可以参考下 函数重载: 在C++程序中,可以将语义、功能相似的几个函...

c++中的隐藏、重载、覆盖(重写)

重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别...

C++函数名字的隐藏:重写、重载、重定义

概要:      C++中经常出现函数名字一样,但参数列表或返回值不同的函数,要搞清楚函数的正确调用关系,需理清三个概念:重写(override)、重载(overload)、重定义(redefi...

C++ 类成员函数重载(overload), 覆盖、重写(overrider), 隐藏(hidden)

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

C++中的隐藏、重载、覆盖(重写)

1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围...

浅谈C++重载、重写和隐藏、覆盖

重写和重载的区别 重写是发生在两个类当中的,重载是在同一个类当中。 重写函数和被重写函数参数列表一定相同,而重载函数和被重载函数参数列表一定不同。(注意:仅返回值不同不能看作重载) 重写的基类中被重写...

【C++基础】重载overload、重写(覆盖)override、隐藏hide的区别

重载overload 重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 相同的范围(在同一个类中)函数名字相同参数不同virtual可有...

C++中重载、重写(也称覆盖)、隐藏

JAVA中语言中方法(函数)调用有两种特殊的形态:重载与重写;而C++由于增加了virtual这个虚函数关键字,给函数调用又增加了变数:除了重载、重写(也称覆盖)之外还多了隐藏这么一说。我相信我们绝大...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++中重写和重载以及隐藏
举报原因:
原因补充:

(最多只允许输入30个字)