C++默认参数值函数
1.默认参数值的函数
C++语言允许在定义函数时给其中或某些形式参数(形参)指定默认值,方法就是在相应的形参后面写上“=默认值”,如果省略了对应位置上的实参的值,则在执行被调函数时以该形参的默认值进行运算。
本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!
2.默认参数值函数注意事项
- 默认函数一般在函数声明中设置。如果程序中既有函数声明又有函数定义,则定义函数时不允许再定义参数的默认值;如果程序中只有函数定义而没有函数声明,则默认参数才可以出现在函数定义中;
- 默认参数的顺序。如果一个函数中有多个默认参数,则参数分布中默认参数应从右至左逐个定义。也就是说,如果你要给默认值的这个形参右边还有没有给默认值的形参,那么,这样定义是错误的。如:
void func( int a=1, float b, long c=20 ); //错误 void func( int a, float b=2, long c=30 ); //正确
例题:定义、测试重载函数。
#include<iostream> using namespace std; int sum(int i,int j=10); //有函数声明 int sum(int i,int j) { return i+j; } void print(int i, int j, int sum=0) //无函数声明 { cout << "i:" << i << endl; cout << "j:" << j << endl; cout << "sum:" << sum << endl; } int main() { int a=3; int b=7; cout << "sum(a):" << sum(a) << endl; cout << "sum(a,b):" << sum(a,b) << endl; cout << "print(a,b):" << endl; print(a,b); cout << "print(a,b,sum(a,b)):" << endl; print(a,b,sum(a,b)); return 0; } //菜鸟,求大家批评指教,代码编写习惯和规范等等!!!谢谢!!!
本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!