当前位置 : 主页 > 编程语言 > c语言 >

C++入门-2

来源:互联网 收集:自由互联 发布时间:2023-09-03
本篇文章继续与大家分享C++的相关知识,本次分享的内容包含了C++的缺省函数、函数重载及引用这三个方面的知识。 话不多说,让我们进入第一个正题, 缺省函数 缺省函数就在函数声

本篇文章继续与大家分享C++的相关知识,本次分享的内容包含了C++的缺省函数、函数重载及引用这三个方面的知识。

话不多说,让我们进入第一个正题,

缺省函数

缺省函数就在函数声明或定义的时候,给一个缺省值。它的作用是在函数调用的时候,如果不传实参,形参就会启用缺省值。我们以add这个函数作为例子:

首先,我们试着在声明给缺省值

C++入门-2_引用变量

C++入门-2_函数重载_02

我们再看看,在定义下给缺省值:

C++入门-2_函数重载_03

C++入门-2_引用变量_04

接下来,让我们看看我们没有指定实参下,缺省值的启用:

C++入门-2_函数重载_05

以上在定义或者声明给缺省值的方式都是可以的,但不能同时在定义和声明给缺省值,这样是错误的,还需要注意的是定义给的话,像我们的上面的add函数在定义给就无法调用,需要改成下面这种方式,将函数放到调用的前面。所以,建议以后使用声明给。

C++入门-2_函数调用_06

缺省函数的分类

我们根据缺省值的数量,将缺省函数分为两类:

第一种叫全缺省函数,也就是函数的每一个形参都给缺省值。

C++入门-2_函数重载_07

上图中的add函数,有两个形参,每个形参都给了一个缺省值零。

第二种叫半缺省函数,什么意思呢?我们把只给部分

形参缺省值的函数称之为半缺省函数,换而言之,就是并不是所有形参都有缺省值。

我们以fun函数为例:

C++入门-2_函数重载_08

这里需要注意的是缺省值要从右往左给,不能隔着给。

C++的函数在转值的时候,是从左往右给传的,也就是先传x,再传y,最后传z.

还有就是缺省值,必须是常量或者是全局变量。

好了,以上就是缺省函数的基本知识。接下来,我们来说说函数重载。

函数重载

重载,也就是具备多种含义。函数重载就是同一个函数名具备多种功能。这是C++中新引入的概念,C语言中没有。

那我们如何实现重载呢?重载又是如何实现的呢?

让我们先来看看下面图中add函数的例子

C++入门-2_函数重载_09

C++入门-2_引用变量_10

从上图可以看到我们的add函数不仅可以实现整形数的加法,还能实现浮点数的加法。这是C语言所没有的。相信善于观察的小伙伴大概能猜到函数重载的条件了,我就不卖关子了。要想实现函数重载的条件为:同名的函数的形参列表(参数个数或参数类型或类型顺序)不同。我们依次举个例子:

C++入门-2_函数重载_11

说到这,我们已经解决了怎么实现函数重载的问题。那为什么C++可以实现函数重载,而C语言不行呢?答案就在下面两幅图中。

C++入门-2_函数调用_12

C++入门-2_引用变量_13

这涉及到编译过程的函数名修饰原则,C语言是直接使用函数名,这就限制了它无法实现重载,如果存在多个同名函数会产生歧义,系统不知道调用谁。也就是第一幅图。而C++呢?在编译的过程不直接使用函数名,如第二幅图所示会进行一些处理,这样即使存在多个同名函数,但由于他们的参数列表的不同,编译时的函数名也不会相同,在调用的时候,也不会产生歧义。

好了,说到这,相信你对函数重载有了一个大致的认识。

接下来,我们来一同来了解一下,引用。

引用

引用是什么?通俗来说:就是给已存在的变量取别名。

C++入门-2_引用变量_14

那取别名有什么用呢?我们可以通过别名对引用的实体进行访问(查看数据,删除数据)

引用的使用方式如下图:类型&引用变量名=引用实体

下面我们举个例子:

C++入门-2_函数重载_15

引用有几个重要的特性:

1.引用必须在定义的时候初始化

2.一个变量可以有多个引用(换而言之,就是,一个人可以取多个外号)

3.引用一旦引用了实体,就不能更改了。

由于时间关系,我们引用先介绍到这,对于引用的更多使用细节,我们会在下一章继续和大家分享。

好了,到这里,本次的分享就到此结束了,不知道我有没有说明白,给予你一点点收获。如果你有所收获,别忘了给我点个赞,这是对我最好的回馈,当然你也可以在评论发表一下你的收获和心得,亦或者指出我的不足之处。如果喜欢我的分享,别忘了给我点关注噢。

上一篇:C++类和对象_封装part2
下一篇:没有了
网友评论