通过函数原型来设置默认值。
由于编译器通过查看函数原型来了解函数所使用的参数数目,因此函数原型也必须将可能的默认参数告知程序。
对于带参数列表的函数,必须从右向左添加默认值。也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值:
char * left (const char * str. int n = 1); //VALID
int harpo (int n,int m=4,int j=5); //VALID
int chico(int n, int m=4,int j); //INVALID
实参按照从左到右的顺序依次被赋给相应的形参,而不能跳过任何参数。因此,下面的调用是不允许的:
beeps= harpo(3, ,8); //invalid,doesn't set m to 4
为函数参数设置默认值,可以看做另类的函数重载。关于更多的函数重载介绍,请看<<函数重载>>。