专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

C++默认参数(函数参数的默认值)

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/17 11:56:05       共计:3625 浏览
在 C++ 中,声明一个函数时,可以为函数的参数指定默认值。当调用有默认参数值的函数时,可以不写出参数,这时就相当于以默认值作为参数调用该函数。

例如:
void Function1(int x=20);  //函数的声明中,指明参数 x 的默认值是 20
//...
Function1();  //正确的调用语句,等效于 Function1(20);

不仅可以用常数,还可以用任何有定义的表达式作为参数的默认值。例如:
int Max(int m, int n);
int a, b;
void Function2(int x, int y=Max(a,b), int z=a*b){
    //...
}

Function2(4);  //正确,等效于 Function2(4, Max(a,b), a*b);
Function2(4, 9);  //正确,等效于 Function2(4,9 , a*b);
Function2(4, 2, 3);  //正确
Function2(4, ,3);  //错误!这样的写法不允许,省略的参数一定是最右边连续的几个

函数参数的默认值可以像上面的 Function1 那样写在声明函数的地方,也可以像 Function2 那样写在定义函数的地方,但是不能在两个地方都写。

函数默认参数所带来的好处是使程序的可扩充性更好,即当程序需要增加新功能时,改动可以尽可能少。

试想下面这种情况。一个即将编写完成的绘图程序,其中有一个画圆的函数 Circle,画出来的圆都是黑色的,这时希望增加画彩色圆的功能,于是就需要在 Circle 函数中增加一个 int 型的 color 参数,用来表示颜色。

但是原来的程序中可能大多数调用 Circle 函数的地方依然只是画个黑色的圆就可以了,只有少数几个地方需要改成画彩色的圆。此时,如果要找出所有调用 Circle 函数的语句并补上颜色参数,会十分烦琐。

而有了函数参数默认值的机制,则只需为 Circle 函数的新参数指定默认值 0(假定 0 代表黑色),然后找出少数几个调用 Circle 函数画彩色圆的地方,补上颜色参数即可。

实践中这种情况 是经常发生的。
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C++引用类型详解 | ·下一条:C++输入输出

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有