C++Note 函数占位 函数默认参数

函数默认参数

在C++中,函数的形参列表中的形参是可以有默认值的

语法:返回值类型  函数名 (参数 = 默认值){}

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 
 4 //函数的默认参数
 5 //如果我们自己传入数据 就用自己的数据 如果没有 就用默认值
 6 int func(int a, int b = 20, int c = 30)//第一个变量初始化之后的变量都要初始化
 7 {
 8     return a + b + c;
 9 }
10 //注意事项
11 //1.如果某个位置已经有了默认参数,那么从这个位置往后,从左到右都必须有默认值
12 //2.如果函数声明有默认参数,函数实现就不能有默认参数
13 //声明和函数实现只能有一个有默认参数
14 int func2(int a = 10, int b = 10);
15 //int func2(int a = 10, int b = 10) // 错误  重定义了默认参数 二义性 
16 //{
17 //    return a + b;
18 //}
19 int func2(int a, int b)//正确
20 {
21     return a + b;
22 }
23 int func3(int a, int b);
24 int func3(int a = 10, int b = 10)//正确
25 {
26     return a + b;
27 }
28 int main() 
29 {
30 
31     cout << func(10) << endl;// 10 + 20 + 30 = 60
32     cout << func(10, 10) << endl;// 10 + 10 + 30 = 50
33     system("pause");
34     return 0;
35 }
复制代码

函数占位参数

C++中函数的形参列表里可以有占位参数,用来做占位,调用函数时必须填补该位置

语法:返回值类型 函数名(数据类型){}

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 
 4 //占位函数    目前不用 之后有用
 5 //占位参数 还可以有默认参数
 6 void func(int a, int)//目前第二个变量只占位 无法使用
 7 {
 8     cout << " this is func" << endl;
 9 }
10 void func2(int a, int = 10)
11 {
12     cout << " this is func2" << endl;
13 }
14 
15 int main() 
16 {
17 
18     func(10,10);//占位参数一定要填补
19     func2(10);//因为函数中第二个有默认参数 因此 Main中只须有第一个变量参数
20     system("pause");
21     return 0;
22 }
复制代码

 

posted on   廿陆  阅读(7)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示