阅读 123

C++ 默认参数 (实参)

在本文中,您将学习什么是默认参数,如何使用它们以及使用它的必要声明。

在C ++编程中,您可以提供函数参数的默认值。

默认参数背后的想法很简单。如果通过传递参数调用函数,则这些参数将由函数使用。

但是,如果在调用函数时未传递参数,则使用默认值。

默认值传递给函数原型中的参数。

默认参数的工作

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.

使用默认参数时的常见错误

  1. void add(int a, int b = 3, int c, int d = 4);
    上面的函数将无法编译。您不能跳过两个参数之间的默认参数。
    在这种情况下,c还应分配一个默认值。
     

  2. 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);
     

  3. 如果您的函数执行了多项操作,或者逻辑看起来过于复杂,则可以使用  函数重载更好地分离逻辑。

  4. 无论如何使用默认参数,都应该始终编写一个函数,使它只用于一个目的。


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐