C++函数默认参数

函数的默认参数

默认参数是指当函数调用中省略了实参时自动使用的一个值。例如,如果将void wow(int n)设置成n有默认值为1,则函数调用wow()相当于wow(1)。

如何设置默认值
必须通过函数原型。由于编译器通过查看原型来了解函数所使用的参数数目,因此函数原型也必须将可能的默认参数告知程序。方法是将值赋给原型中的参数

Notes:—————————————————————————————————————————
1.对于带参数列表的函数,必须从右向左添加默认值。也就是说,如果想给某个参数设置默认值,则必须为它右边所有的参数设置默认值
√ int harpo(int n,int m=4,int j=5)
√ int groucho(int k=1,int m=2,int n=3)
× int chico(int n,int m=5,int j)
2.实参按从左到右的顺序依次被赋给相应的形参,而不能跳过任何参数
3.只有原型指定了默认值。函数定义与没有默认参数时完全相同
4.使用默认参数,可以减少要定义的析构函数、方法以及方法重载的数量

#include <iostream>
using namespace std;
const int ArSize=50;
char *left(const char *str,int n=3);

int main()
{
	char sample[ArSize];
	cout << "Enter a string:\n";
	cin.get(sample,ArSize);
	char *ps=left(sample,4);
	cout << ps << endl;
	delete [] ps;
	ps=left(sample);
	cout << ps << endl;
	delete [] ps;
	return 0;
} 

char *left(const char *str,int n)
{
	if(n<0)
		n=0;
	char *p=new char[n+1];
	int i;
	for(i=0; i<n&&str[i]; i++)
		p[i]=str[i];
	while(i<=n)
		p[i++]='\0';
	return p;
}
Enter a string:
forthcoming
fort
for
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页