加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

函数重载以及带默认参数的函数

发布时间:2020-12-16 10:47:32 所属栏目:百科 来源:网络整理
导读:函数重载及带默认参数的函数 函数重载 函数重载( function overload ),是函数的一种特殊情况,也是C++当中一种重要函数形式,其表现形式为,函数名相同,但是参数个数或参数顺序或参数类型不相同,其每个函数完成不同的功能。 条件:函数名相同,参数个数或

函数重载及带默认参数的函数

函数重载

  函数重载(function overload),是函数的一种特殊情况,也是C++当中一种重要函数形式,其表现形式为,函数名相同,但是参数个数或参数顺序或参数类型不相同,其每个函数完成不同的功能。

  条件:函数名相同,参数个数或参数顺序或参数类型不相同(三点可以同时具备)。

  使用方法:实参类型要与函数形参匹配

  下面举个简单地例子

?

 1 //函数重载
 2 #include <iostream>
 3 using namespace std;
 4 
 5 void fun(int a,int b){
 6     cout<<a<<endl;
 7 }
 8 void fun(int a,int b,int c){
 9     cout<<c<<endl;
10 }
11 void fun(char a,char b){
12     cout<<b<<endl;
13 }
14 
15 void test(){
16     fun(3,4);
17     fun(E,F);
18     fun(2,5,7);
19 }
20 int main(){
21     test();
22     return 0;
23 }

?函数重载使程序更加细节,掌握函数重载会使你的程序更加精致及可观性

?

带默认参数的函数

我们所说的参数分为两种,形参和实参,这里的带默认参数的函数中的参数实际上是实参。

形如:

?

1 void func(int a = 1,int b = 3,int c = 5){
2     cout<<a+b+c<<endl;
3 }

?

?如上方代码所示,将形参设定默认值,这就是带默认参数的函数

带默认参数的函数有以下几种特点,下面我来一一说明。

1.调用函数 func()??,如果不指定实参值,则程序使用形参的值执行代码

 1 void func(int a = 1,int c = 5){
 2     cout<<a+b+c<<endl;
 3 }
 4 int main(){
 5     func();    //输出1+3+5
 6     func(2);    //输出2+3+5
 7     func(2,4);        //输出2+4+5
 8     func(4,7,8);    //输出4+7+8
 9     
10     return 0;
11 }

2.若函数在声明当中指定了默认形参,则函数定义的形参可不比再设置默认参数,如下:

 1 void func(int a = 1,int c = 5)
 2 int main(){
 3     func();    //输出1+3+5
 4     func(2);    //输出2+3+5
 5     func(2,4);        //输出2+4+5
 6     func(4,8);    //输出4+7+8
 7     
 8     return 0;
 9 }
10 void func(int a,int c){
11     cout<<a+b+c<<endl;
12 }

?

?3.在设置默认形参的时候,应该遵循靠右原则,即应该从右往左设置形参,如下:

?

?

1 void func(int x = 1,int y); //错误
2 void func(int x = 1,int y = 2); //正确

?

?通俗来讲,当形参表中某一个变量设置了默认值,则其右边的所有值都应该设置默认值

?

?

这就是函数重载以及带默认参数的函数的用法的简要说明,本人也是正在学习阶段,如有错误或不恰当之处,请提出,希望大家支持!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读