默认参数
c++中形参可以设置默认参数,设置时需要注意以下几点:
如果有一个参数设置了默认参数,从这个参数往后的每一个参数都要设置默认参数
函数的声明和定义出设置默认参数只能一处
有实参传入则使用实参,实参没有传入使用默认参数
#include <iostream>
#include <stdlib.h>
using namespace std;
void fun01(int a = 1,int b = 2)
{
cout << a <<""<<b<<endl;
}
void test01()
{
fun01(1,4);//14
fun01(1,3);//13
fun01(1,5);//15
fun01(2);//22
fun01();//12
}
int main()
{
test01();
return 0;
}
占位参数
c++在声明函数时,可以设置占位参数,占位参数只有参数类型声明,而没有参数名声明,一般情况下,在函数体内部无法使用占位参数
#include <iostream>
#include <stdlib.h>
using namespace std;
void fun01(int a,int b,int)//函数内部无法使用占位参数
{
cout <<"a+b = "<< a + b << endl;
}
//占位参数也可以设置默认值
void fun02(int a,int b,int = 20)
{
cout <<"a+b = "<< a + b << endl;
}
int main()
{
//fun01(10,20);错误 占位参数也是参数 必须传参
fun01(10,20,30);
fun02(10,20);
fun02(10,20,30);
return 0;
}