在C++语言中,可以设置函数形参的默认值,在调用函数时,若明确给出了实参的值,则使用相应实参的值;若没有给出相应实参的值,则使用默认的值。这将为函数调用带来方便和灵活。
【示例】
#include<iostream> using namespace std; int max(int x = 70, int y = 60, int z = 50) { int m; if (x > y) m = x; else m = y; if (z > m) m = z; return m; } int main() { int s1, s2, s3; s1 = max(10, 20, 30); cout << "s1=" << s1 << endl; s2 = max(10, 20); cout << "s2=" << s2 << endl; s3 = max(); cout << "s3=" << s3 << endl; system("pause"); return 0; }
使用默认参数的函数的注意事项:
(1)如果程序中既有函数的声明又有函数的定义,则定义函数时不允许再定义参数的默认值。如果程序中只有函数的定义,而没有函数的声明,则默认参数才可出现在函数定义中。
(2)默认参数的顺序:具有默认值的参数必须位于参数表的最右边。如果一个函数中有多个默认参数,则形参分布中,默认参数应从右至左依次定义。
例如:
void try(int j=3, int k)/非法
void try(int j, int k=2, int m)/非法
void try(int j, int k=2)/合法
void try(int j, int k=2, int m=4)/合法
void try(int j=3, int k=2, int m=4)/合法