工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ プログラミングの既定の引数 (パラメーター)

C++ プログラミングの既定の引数 (パラメーター)

このチュートリアルでは、例を使用して C++ のデフォルト引数とその動作について学習します。

C++ プログラミングでは、関数パラメーターのデフォルト値を指定できます。

デフォルトの引数を持つ関数が引数を渡さずに呼び出された場合、デフォルトのパラメータが使用されます。

ただし、関数の呼び出し中に引数が渡された場合、デフォルトの引数は無視されます。


デフォルト引数の働き

<図>

上の画像からデフォルト引数の動作を理解できます:

<オール>
  • temp()の場合 が呼び出されると、両方のデフォルト パラメータが関数によって使用されます。
  • temp(6)のとき が呼び出されると、最初の引数は 6 になります 2 番目のパラメーターにはデフォルト値が使用されます。
  • temp(6, -2.3)のとき が呼び出されると、両方のデフォルト パラメータがオーバーライドされ、結果として i = 6 になります。 および f = -2.3 .
  • temp(3.4)のとき が渡されると、最初の引数を渡さないと 2 番目の引数を渡すことができないため、関数は望ましくない動作をします。

    したがって、3.4 最初の引数として渡されます。最初の引数は int と定義されているため 、実際に渡される値は 3 です .

  • 例:デフォルト引数

    #include <iostream>
    using namespace std;
    
    // defining the default arguments
    void display(char = '*', int = 3);
    
    int main() {
        int count = 5;
    
        cout << "No argument passed: ";
        // *, 3 will be parameters
        display(); 
        
        cout << "First argument passed: ";
         // #, 3 will be parameters
        display('#'); 
        
        cout << "Both arguments passed: ";
        // $, 5 will be parameters
        display('$', count); 
    
        return 0;
    }
    
    void display(char c, int count) {
        for(int i = 1; i <= count; ++i)
        {
            cout << c;
        }
        cout << endl;
    }

    出力

    No argument passed: ***
    First argument passed: ###
    Both arguments passed: $$$$$

    このプログラムの仕組みは次のとおりです。

    <オール>
  • display() 引数を渡さずに呼び出されます。この場合、display() 両方のデフォルト パラメータ c = '*' を使用します と n = 1 .
  • display('#') 引数を 1 つだけ指定して呼び出されます。この場合、最初は '#' になります . 2 番目のデフォルト パラメータ n = 1 保持されます。
  • display('#', count) 両方の引数で呼び出されます。この場合、デフォルトの引数は使用されません。
  • 関数定義自体でデフォルトのパラメーターを定義することもできます。以下のプログラムは上記のものと同等です。

    #include <iostream>
    using namespace std;
    
    // defining the default arguments
    void display(char c = '*', int count = 3) {
        for(int i = 1; i <= count; ++i) {
            cout << c;
        }
        cout << endl;
    }
    
    int main() {
        int count = 5;
    
        cout << "No argument passed: ";
        // *, 3 will be parameters
        display(); 
        
        cout << "First argument passed: ";
         // #, 3 will be parameters
        display('#'); 
        
        cout << "Both argument passed: ";
        // $, 5 will be parameters
        display('$', count); 
    
        return 0;
    }

    覚えておくべきこと

    <オール>
  • パラメータのデフォルト値を指定したら、後続のすべてのパラメータにもデフォルト値を指定する必要があります。たとえば、
    // Invalid
    void add(int a, int b = 3, int c, int d);
    
    // Invalid
    void add(int a, int b = 3, int c, int d = 4);
    
    // Valid
    void add(int a, int c, int b = 3, int d = 4);
  • 関数プロトタイプではなく関数定義でデフォルト引数を定義する場合、関数は関数呼び出しの前に定義する必要があります。
    // Invalid code
    
    int main() {
        // function call
        display();
    }
    
    void display(char c = '*', int count = 5) {
        // code
    }

  • C言語

    1. C# プログラミングの名前空間
    2. C++ 演算子
    3. C++ コメント
    4. C++ プログラミングで配列を関数に渡す
    5. C++ クラス テンプレート
    6. C プログラミング演算子
    7. C プログラミングにおけるユーザー定義関数のタイプ
    8. C チュートリアル
    9. C - 関数
    10. C - 可変引数
    11. C++ の概要