C++系列-函数默认参数和占位参数

函数5

  • 函数默认参数
    • 函数默认参数的用法
    • 函数默认参数的注意事项
  • 函数占位参数
    • 占位参数的说明
    • 占位参数的用法

函数默认参数

  • 形参列表中的形参是可以有默认值的。
  • 如果自己传了参数,就用自己的,否则就用默认的。
  • 实参与形参个数可以不同。

函数默认参数的用法

  • 返回值类型 函数名(参数1,参数2,默认参数1=默认值,默认参数2=默认值)

函数默认参数的注意事项

  • 默认参数必须放在最右侧。某个位置是默认参数,则其右侧必须全是默认参数。
  • 不要同时使用重载函数和默认参数的函数,否则当少一个参数时,系统无法分辨是利用重载函数还是利用缺省参数的函数。
  • 函数的声明和实现只能有一种有默认参数。
code:
#include
using namespace std;
static int temp = 0;
int& add(int a, int b, int);
//int& add(int a, int b, int c = 100);	// 报错,防止声明和定义中的默认参数值不同而引起二义性
int& add(int a, int b, int c = 100)
{
	temp = a + b + c;
	return temp;	// 不能返回局部变量的引用,static的可以
}
void main()
{
	int x = 100, y = 200;
	int z1 = add(x, y);
	int z2 = add(x, y, 1000);
	cout << z1 << endl;
	cout << z2 << endl;
	system("pause");
}
result:
	400
	1300

函数占位参数

占位参数的说明

  • 函数参数列表中可以有占位参数,在调用函数时必须填补该参数。
  • 该参数也可以有默认值。

占位参数的用法

  • 返回类型 函数名(参数类型)
code:
	#include
	using namespace std;
	static int temp = 0;
	int add(int a, int);
	int add(int a, int=10)		
	{
		int c = a + 100;
		return c;
	}
	void main()
	{
		int x = 100;
		int y = add(x);		//当占位参数有默认值时,可以不传该参数
		int z = add(x, 200);
		cout << "y = " << y << endl;
		cout << "z = " << z << endl;
		system("pause");
	}
result:
	400
	1300

你可能感兴趣的:(c++)