当前位置:   article > 正文

C++函数参数的默认值_c++函数形参如果有默认值

c++函数形参如果有默认值

一个函数参数 可以指定一个默认的值 调用函数时 如果不对这个参数传入值则使用默认值,如果对这个参数传入值 则使用传入的值。

#include <iostream>

using namespace std;

int  getmax(int x=0,int y=1);//函数声明与实现分离,在函数声明中指定默认值,不要在实现中指定

int main()
{
    cout << getmax() << endl;

    cout << getmax(99) << endl;

    cout << getmax(123,100) << endl;

}

int   getmax(int x,int y)
{
    return x>y?x:y; 
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

c++中函数参数默认值 必须遵循靠右原则

int  getmax(int x,int y=100)
{

}
  • 1
  • 2
  • 3
  • 4

如果一个参数有默认值 则右侧所有的参数必须都有默认值。

默认值 不要和重载形成冲突

当函数的声明 和 实现分离时 需要在声明 中指定默认值 不要在实现中指定。

综合举例遍历数组内容,默认以逗号隔开

#include <iostream>
using namespace std;
void  printarr(int *data,int len=1,char sep=',')
{
    cout << '[';
    for(int i=0;i<len-1;i++)
    {
       cout << data[i] << sep;
    }
    cout << data[len-1] << ']' << endl;
}
int main()
{
    int  data[5]={9,5,2,7,8};
    printarr(data);
    printarr(data,3);
    printarr(data,sizeof(data)/sizeof(data[0]));
    printarr(data,sizeof data /sizeof(data[0]),'$');
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/602649
推荐阅读
相关标签
  

闽ICP备14008679号