在C++中,允许在自定义函数的形参列表中,给形参一个默认的值,这样在调用的时候如果有实参,那么按照实参传递给形参的方法使用;若调用的时候没有指定对应的实参,则形参将使用默认值。
例如一个求加法的函数,代码如下:
#include<iostream>usingnamespacestd;intadd(inta=3,intb=5){returna+b;}intmain(){cout<<add(10,20)<<endl;//将10和20分别给a和bcout<<add(30)<<endl;//将30给a,b为默认的5cout<<add()<<endl;//使用a、b的默认值3和5return0;}
大家阅读代码并上机实验,效果如下:
需要注意的是,由于参数的传递顺序是从右至左入栈,所以有默认值的参数必须在放在形参列表的最右边!另外,当函数需要提前声明时,若形参存在默认参数,则声明部分可以制定默认值,而后面的函数定义部分则不再制定默认值。
请大家结合实际情况多上机实验!