C++ 默認參數(shù) (實參)

在本文中,您將學習什么是默認參數(shù),如何使用它們以及使用它的必要聲明。

在C ++編程中,您可以提供函數(shù)參數(shù)的默認值。

默認參數(shù)背后的想法很簡單。如果通過傳遞參數(shù)調(diào)用函數(shù),則這些參數(shù)將由函數(shù)使用。

但是,如果在調(diào)用函數(shù)時未傳遞參數(shù),則使用默認值。

默認值傳遞給函數(shù)原型中的參數(shù)。

默認參數(shù)的工作

C ++中的默認參數(shù)

示例:默認參數(shù)

// c++程序演示默認參數(shù)的工作方式

#include <iostream>
using namespace std;

void display(char = '*', int = 1);

int main()
{
    cout << "沒有參數(shù)傳遞:\n";
    display();
    
    cout << "\n第一個參數(shù)被傳遞:\n";
    display('#');
    
    cout << "\n兩個參數(shù)被傳遞:\n";
    display('$', 5);

    return 0;
}

void display(char c, int n)
{
    for(int i = 1; i <= n; ++i)
    {
        cout << c;
    }
    cout << endl;
}

輸出結(jié)果

沒有參數(shù)傳遞:
*

第一個參數(shù)被傳遞:
#

兩個參數(shù)被傳遞:
$$$$$

在上面的程序中,您可以看到分配默認值給參數(shù) void display(char ='*',int = 1);。

首先,在display()不傳遞任何參數(shù)的情況下調(diào)用函數(shù)。在這種情況下,display()函數(shù)同時使用了默認參數(shù)c = *和n = 1。

然后,第二次使用該函數(shù)只傳遞第一個參數(shù)。在這種情況下,函數(shù)不使用傳遞的第一個默認值。它使用作為第一個參數(shù)傳遞的實際參數(shù)c = #,并將默認值n = 1作為第二個參數(shù)。

當?shù)谌蝑isplay()被調(diào)用時傳遞兩個參數(shù),都不使用默認參數(shù)。傳遞的值分別為 c = $和n = 5.

使用默認參數(shù)時的常見錯誤

  1. void add(int a, int b = 3, int c, int d = 4);
    上面的函數(shù)將無法編譯。您不能跳過兩個參數(shù)之間的默認參數(shù)。
    在這種情況下,c還應分配一個默認值。
     

  2. void add(int a, int b = 3, int c, int d);
    上面的函數(shù)也不會編譯。您必須在b之后為每個參數(shù)提供默認值。
    在這種情況下,c和d也應該被分配缺省值。
    如果只需要一個默認參數(shù),請確保該參數(shù)是最后一個參數(shù)。如:void add(int a, int b, int c, int d = 4);
     

  3. 如果您的函數(shù)執(zhí)行了多項操作,或者邏輯看起來過于復雜,則可以使用  函數(shù)重載更好地分離邏輯。

  4. 無論如何使用默認參數(shù),都應該始終編寫一個函數(shù),使它只用于一個目的。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清