默认参数

也就是在声明或定义函数时指定参数的默认值,下面是个例子

#include <iostream>
using namespace std;
void add(int x, int y = 1, int z = 2)
{
	cout << x + y + z << endl;
}
int main()
{
	add(1);//只传递1给形参x。y,z使用默认形参值
	add(1, 2);//传递1给x,2给y。z使用默认形参值
	add(1, 2, 3);//传递三个参数,不使用默认形参值
	return 0;
}

注意:

1.默认参数只可在函数声明中出现一次,如果没有函数说明,只有函数定义,那么可以在函数定义中设定。

2.默认参数赋值的顺序是自右向左,如果一个参数设定了默认参数,则其右边不能存在未赋值的形参。

3.默认参数调用是,遵循参数调用顺序,有参数传入时它会先从左向右依次匹配

4.默认参数可以是全局变量,全局常量甚至函数

典例

只定义一个函数,使得输出为:
1116
116
16
6

#include<iostream>
#include<iomanip>
using namespace std;
// 在这里补充你的代码
int main()
{
	cout << add() << endl;
	cout << add(1) << endl;
	cout << add(1, 2) << endl;
	cout << add(1, 2, 3) << endl;
}
#include<iostream>
#include<iomanip>
using namespace std;

int add(int x=1001,int y=102,int z=13)
{
	return x + y + z;
}
int main()
{
	cout << add() << endl;
	cout << add(1) << endl;
	cout << add(1, 2) << endl;
	cout << add(1, 2, 3) << endl;
}

发表评论