C++默认参数值函数

1.默认参数值的函数

  C++语言允许在定义函数时给其中或某些形式参数(形参)指定默认值,方法就是在相应的形参后面写上“=默认值”,如果省略了对应位置上的实参的值,则在执行被调函数时以该形参的默认值进行运算。

本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!

2.默认参数值函数注意事项

  • 默认函数一般在函数声明中设置。如果程序中既有函数声明又有函数定义,则定义函数时不允许再定义参数的默认值;如果程序中只有函数定义而没有函数声明,则默认参数才可以出现在函数定义中;
  • 默认参数的顺序。如果一个函数中有多个默认参数,则参数分布中默认参数应从右至左逐个定义。也就是说,如果你要给默认值的这个形参右边还有没有给默认值的形参,那么,这样定义是错误的。如:
void func( int a=1, float b, long c=20 );    //错误
void func( int a, float b=2, long c=30 );    //正确

例题:定义、测试重载函数。

#include<iostream>
using namespace std;

int sum(int i,int j=10);    //有函数声明
int sum(int i,int j)
{
    return i+j;
}

void print(int i, int j, int sum=0)     //无函数声明
{
    cout << "i:" << i << endl;
    cout << "j:" << j << endl;
    cout << "sum:" << sum << endl;
}

int main()
{
    int a=3;
    int b=7;
    cout << "sum(a):" << sum(a) << endl;
    cout << "sum(a,b):" << sum(a,b) << endl;
    cout << "print(a,b):" << endl;
    print(a,b);
    cout << "print(a,b,sum(a,b)):" << endl;
    print(a,b,sum(a,b));
    return 0;
}


//菜鸟,求大家批评指教,代码编写习惯和规范等等!!!谢谢!!!

本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!

原文地址:https://www.cnblogs.com/MichaelBin/p/4523084.html