C++默认参数的用法(附带实例,新手必看)
C++ 中调用带参函数时,如果经常需要传递同一个值,不妨在定义该函数时设置一个默认参数值。
设置默认参数的好处是,调用函数时如果省略参数,表示用默认值作为函数的实际参数;如果不省略参数,表示传递实际参数到函数形参处。
例如,下面的代码定义了一个带有默认参数值的函数:
【实例】输出两行字符串:一行使用默认值作为函数实参,一行将字符串作为函数实参。代码如下:
例如,下面的函数定义是非法的,默认值参数 y 出现在非默认值参数 z 的左方,导致编译错误。
设置默认参数的好处是,调用函数时如果省略参数,表示用默认值作为函数的实际参数;如果不省略参数,表示传递实际参数到函数形参处。
例如,下面的代码定义了一个带有默认参数值的函数:
void OutputInfo(const char *pchData = "One world,one dream!") { cout << pchData << endl; //输出默认信息 }
【实例】输出两行字符串:一行使用默认值作为函数实参,一行将字符串作为函数实参。代码如下:
#include <iostream> using namespace std; void OutputInfo(const char *pchData = "GO UP OR GO HOME") { cout << pchData << endl; //输出默认信息 } int main() { OutputInfo(); //无参调用,默认值作为函数实际参数 OutputInfo("口号!"); //有参调用,传递实际参数 }程序运行结果为:
GO UP OR GO HOME
口号!
例如,下面的函数定义是非法的,默认值参数 y 出现在非默认值参数 z 的左方,导致编译错误。
int GetMax(int x,int y=10,int z) //非法的函数定义,默认参数y出现在参数z的左方 { if(x<y) x=y; //如果x小于y if(x<z) x=z; //如果x小于z return x; //返回x }正确的做法是将默认值参数放置在参数列表的右方,将函数头改为:
int GetMax(int x,int y,int z=10) //定义默认值参数