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

来源:互联网 发布:淘宝限时抢购在哪 编辑:程序博客网 时间:2024/06/13 08:46

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){......}

③若有声明且在函数定义的后面使用该函数,则默认参数可以放在声明中或定义中。
④一般情况下我们选择将默认参数放在函数定义中,这是我们设计函数的初衷,以及函数在移转过程中的可读性问题。

0 0
原创粉丝点击