#include<iostream>
using namespace std;
/*
三 函数提高
3.1 函数默认参数
*/
// 注意,若某个位置已有了默认参数,则从该参数位置往后的每个参数都必须有默认值,例func(int a, int b, int c=30, d=40)
int func(int a=10, int b=20, int c=30){
return a+b+c;
}
// 注意,若函数声明有默认参数,则函数实现不能有默认参数
int func2(int a=10, int b=10);
int func2(int a, int b){ // 此处不可以再给形参赋值,否则报错
return a+b;
}
// 即声明和实现二处只能有一处给形参赋值默认参数
int func3(int a, int b); // 此处不可以再给形参赋值,否则报错
int func3(int a=10, int b=10){
return a+b;
}
int main(){
cout << func(1, 1, 1) << endl; // 3
cout << func(1, 1) << endl; // 32
cout << func() << endl; // 60
cout << func2() << endl; // 20
cout << func2(1, 1) << endl; // 2
cout << func3() << endl; // 20
cout << func3(1, 1) << endl; // 2
return 0;
}
![](https://img-blog.csdnimg.cn/20210314151741867.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hBSUZFSTY2Ng==,size_16,color_FFFFFF,t_70)