函数高级

独行盗日 / 2023-09-03 / 原文

函数默认参数、占位参数,函数重载

 1 #include <iostream>
 2 using namespace std;
 3 
 4 //1、函数默认参数
 5 //如果传入数据,使用传入的数据,没有则用默认的
 6 //函数声明与实现只能由一个有默认参数
 7 int func(int a,int b=20,int c=30)
 8 {
 9     return a+b+c;
10 }
11 //2、占位参数
12 //目前用不到,后面可能有用
13 // void func(int a,int),后面的int就是占位参数
14 
15 //3、函数重载
16 //作用:函数名可以相同,提高复用性
17 /*函数重载满足的条件
18 1、同一个作用域下(例如:全局作用域(不在main里))
19 2、函数名称相同
20 3、函数参数类型不同或者个数不同或者顺序不同
21 注意:函数的返回值不可以作为函数重载的条件
22         函数重载应避免出现二义性
23 */
24 
25 void func1()
26 {
27     cout<<"func1()的调用"<<endl;
28 }
29 void func1(int)
30 {
31     cout<<"func1(int)的调用"<<endl;
32 }
33 
34 int main()
35 {
36     cout<<"func(10)="<<func(10)<<endl;
37     cout<<"func(10,30)="<<func(10,30)<<endl;
38     func1();
39     func1(10);     
40     return 0;
41 }