首页 > 编程笔记 > C++笔记 阅读:20

C++默认参数的用法(附带实例,新手必看)

C++ 中调用带参函数时,如果经常需要传递同一个值,不妨在定义该函数时设置一个默认参数值。

设置默认参数的好处是,调用函数时如果省略参数,表示用默认值作为函数的实际参数;如果不省略参数,表示传递实际参数到函数形参处。

例如,下面的代码定义了一个带有默认参数值的函数:
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) //定义默认值参数

相关文章