您的位置:首页 > 编程语言 > C语言/C++

c++带默认参数的函数的声明、定义及使用总结

2015-08-01 11:04 183 查看

1.c++规定默认参数必须从函数参数的右边向左边使用,如下:

正确声明:

void fun1(int a, int b=10);
void fun2(int a, int b=10, int c=20);


错误声明:

void fun3(int a=5, int b, int c);
void fun4(int a, int b=5, int c);


2.默认参数不能在声明和定义中同时出现,如下:

错误使用示范:

声明:

void fun1(int a=10);


定义:

void fun1(int a=10){......}


正确使用示范:

声明:

void fun2(int a=10);


定义:

void fun2(int a){......}


或者

声明:

void fun2(int a);


定义:

void fun2(int a=10){......}


3.带默认参数的函数的声明、定义及使用顺序问题

①函数先声明后定义再使用;也可以无声明只定义后使用。

若有声明则函数的声明一般(习惯)放在所有函数的定义前,如下示例:

void fun1(int a=10);
void fun2(int a, int b=20);

void fun1(int a){......}
void fun2(int a, int b){......}


若无声明部分,则函数定义部分放在使用的函数体前,如下示例:

void fun3(int a=10){......}
void fun4(int a=20)
{
fun3();
}
void main()
{
fun4();
}


②若在声明和定义间使用函数,需将默认参数放在声明中,这样当使用默认参数时编译能通过,示例:

void fun1(int a=10);
void main()
{
fun1();
}
void fun1(int a){......}


③若有声明且在函数定义的后面使用该函数,则默认参数可以放在声明中或定义中。

④一般情况下我们选择将默认参数放在函数定义中,这是我们设计函数的初衷,以及函数在移转过程中的可读性问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: