编辑这个页面须要登录或更高权限!
在本文中,您将学习什么是默认参数,如何使用它们以及使用它的必要声明。
在C ++编程中,您可以提供函数参数的默认值。
默认参数背后的想法很简单。如果通过传递参数调用函数,则这些参数将由函数使用。
但是,如果在调用函数时未传递参数,则使用默认值。
默认值传递给函数原型中的参数。
// c++程序演示默认参数的工作方式 #include <iostream> using namespace std; void display(char = '*', int = 1); int main() { cout << "没有参数传递:\n"; display(); cout << "\n第一个参数被传递:\n"; display('#'); cout << "\n两个参数被传递:\n"; display('$', 5); return 0; } void display(char c, int n) { for(int i = 1; i <= n; ++i) { cout << c; } cout << endl; }
输出结果
没有参数传递: * 第一个参数被传递: # 两个参数被传递: $$$$$
在上面的程序中,您可以看到分配默认值给参数 void display(char ='*',int = 1);。
首先,在display()不传递任何参数的情况下调用函数。在这种情况下,display()函数同时使用了默认参数c = *和n = 1。
然后,第二次使用该函数只传递第一个参数。在这种情况下,函数不使用传递的第一个默认值。它使用作为第一个参数传递的实际参数c = #,并将默认值n = 1作为第二个参数。
当第三次display()被调用时传递两个参数,都不使用默认参数。传递的值分别为 c = $和n = 5.
void add(int a, int b = 3, int c, int d = 4);
上面的函数将无法编译。您不能跳过两个参数之间的默认参数。
在这种情况下,c还应分配一个默认值。
void add(int a, int b = 3, int c, int d);
上面的函数也不会编译。您必须在b之后为每个参数提供默认值。
在这种情况下,c和d也应该被分配缺省值。
如果只需要一个默认参数,请确保该参数是最后一个参数。如:void add(int a, int b, int c, int d = 4);
如果您的函数执行了多项操作,或者逻辑看起来过于复杂,则可以使用 函数重载更好地分离逻辑。
无论如何使用默认参数,都应该始终编写一个函数,使它只用于一个目的。