C++概念重载、覆盖、隐藏的使用说明

2016-02-19 09:41 4 1 收藏

下面图老师小编要向大家介绍下C++概念重载、覆盖、隐藏的使用说明,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - 编程语言 】

函数重载:

在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载。

重载的实现:

几个同名的重载函数仍然是不同的函数,它们是如何区分的呢?我们自然想到函数接口的两个要素:参数与返回值。如果同名函数的参数不同(包括类型、顺序不同),那么容易区别出它们是不同的函数。

重载与覆盖成员函数被重载的特征:

(1)相同的范围(在同一个类中);

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

(2)函数名字相同;

(3)参数不同;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

(4)virtual 关键字可有可无。

覆盖是指派生类函数覆盖基类函数,特征是:

(1)不同的范围(分别位于派生类与基类);

(2)函数名字相同;

(3)参数相同;

(4)基类函数必须有virtual 关键字。

隐藏规则:本来仅仅区别重载与覆盖并不算困难,但是C++的隐藏规则使问题复杂性增加了许多。这里“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:

(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。

(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)。

来源:https://www.tulaoshi.com/n/20160219/1591759.html

延伸阅读
  函数重载是用来描述同名函数具有相同或者相似功能,但数据类型或者是参数不同的函数治理操作的称呼。 !-- frame contents -- !-- /frame contents -- 我们来举一个实际应用中的例子来说明问题:我们要进行两种不同数据类型的和操作为了实现它,在c语言中我们就要写两个不同名称的涵数来进行区分例...
    看到很多人在问,简单说说吧,以通常的固定ip的为例:1)安装 ―― 9块盘,注意硬盘内容会被删除!还有,机器内存不能小于 24 M安装过程中提示注册,注意注册码的大小写2)启动后,使用 admin 密码为空,进入3)设第一块网卡的ip:在提示付下输入setup命令,如果你的网卡是PCI的,会提示你设置ether1(就是第一块网卡),输...
手机茄子快传使用说明   1)茄子快传怎么用 第一步在手机的软件界面上,点击连接电脑,再点击顶端橘红色的连接电脑按钮。   第二步选择需要连接的电脑的名字,直接点击设备的名称就ok了,界面顶端就会显示手机和电脑连接的情况,点击前面的X按钮就会断开连接哦。   2)手机如何向电脑传输文件 连上...
重载:方法名相同,但参数不同的多个同名函数 注意:1.参数不同的意思是参数类型、参数个数、参数顺序至少有一个不同 2.返回值和异常以及访问修饰符,不能作为重载的条件(因为对于匿名调用,会出现歧义,eg:void a ()和int a() ,如果调用a(),出现歧义) 3.main方法也是可以被重载的 覆盖:子类重写父类的方法,...
标签: 服务器
图解 GHOST的使用说明(详细)   那些有图形界面的操作我就不说了.. 这是主要说的是如何手工操作GHOST来进行备份和还原.Ghost启动后会出现如下画面: 直接点OK后就会进入到第二个画面;也就是GHOST的主菜单,图如下: 在主菜单中,有以下几项: Local:本地操作,对本地计算机上的硬盘进行操作。 Peer to peer:通...

经验教程

288

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部