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

函数重载

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


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

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

  下面举个简单地例子

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

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

带默认参数的函数

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

形如:

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

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

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

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

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

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

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

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

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

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

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

点赞(0)
 

9 分

2 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论