1.函数声明或者定义的时候,可以给形参赋一些默认值
2.调用函数时,若没有给出实参,则按指定的默认值进行工作
3.函数没有声明时,在函数定义中指定形参的默认值
4.函数既有定义又有声明时,声明时指定后,定义后就不能再指定默认值
5.默认值的定义必须遵守从右到左的顺序,如果某个形参没有默认值,则它左边的参数就不能有默认值。
void func1(int a, double b=4.5, int c=3); //合法
void func1(int a=1, double b, int c=3); //不合法
6.函数调用时,实参与形参按从左到右的顺序进行匹配
代码实例:
#include<iostream>
usingnamespace std;
int fun(inta, intb=5)
{
returna + b;
}
int fun(inta, intb, intc);
int main(void)
{
cout<<fun(3)<<endl;//没有给出第二个参数,则使用默认参数5
cout<<fun(3, 4)<<endl;
cout<<fun(3,4,5)<<endl;
return 0;
}
int fun(inta, intb, intc)
{
returna + b + c;
}