Standardargumente für die C ++ - Programmierung (Parameter)

In diesem Tutorial lernen wir anhand von Beispielen die C ++ - Standardargumente und ihre Arbeitsweise kennen.

In der C ++ - Programmierung können wir Standardwerte für Funktionsparameter bereitstellen.

Wenn eine Funktion mit Standardargumenten aufgerufen wird, ohne Argumente zu übergeben, werden die Standardparameter verwendet.

Wenn jedoch beim Aufrufen der Funktion Argumente übergeben werden, werden die Standardargumente ignoriert.

Arbeiten mit Standardargumenten

Funktionsweise von Standardargumenten in C ++

Wir können die Funktionsweise von Standardargumenten anhand des obigen Bildes verstehen:

  1. Beim temp()Aufruf werden beide Standardparameter von der Funktion verwendet.
  2. Beim temp(6)Aufruf wird das erste Argument, 6während der Standardwert für den zweiten Parameter verwendet wird.
  3. Beim temp(6, -2.3)Aufruf werden beide Standardparameter überschrieben, was zu i = 6und führt f = -2.3.
  4. Wenn temp(3.4)übergeben, verhält sich die Funktion unerwünscht, da das zweite Argument nicht übergeben werden kann, ohne das erste Argument zu übergeben.
    Daher 3.4wird als erstes Argument übergeben. Da das erste Argument als definiert intwurde, ist der tatsächlich übergebene Wert 3.

Beispiel: Standardargument

 #include 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; )

Ausgabe

 Kein Argument übergeben: *** Erstes Argument übergeben: ### Beide Argumente übergeben: $$$$$

So funktioniert dieses Programm:

  1. display()wird aufgerufen, ohne Argumente zu übergeben. In diesem Fall display()werden sowohl die Standardparameter c = '*'als auch verwendet n = 1.
  2. display('#')wird mit nur einem Argument aufgerufen. In diesem Fall wird der erste '#'. Der zweite Standardparameter n = 1bleibt erhalten.
  3. display('#', count)wird mit beiden Argumenten aufgerufen. In diesem Fall werden keine Standardargumente verwendet.

Wir können die Standardparameter auch in der Funktionsdefinition selbst definieren. Das folgende Programm entspricht dem obigen.

 #include 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; )

Dinge, an die man sich erinnern sollte

  1. Sobald wir einen Standardwert für einen Parameter angegeben haben, müssen alle nachfolgenden Parameter auch Standardwerte haben. Beispielsweise,
     // 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);
  2. Wenn wir die Standardargumente in der Funktionsdefinition anstelle des Funktionsprototyps definieren, muss die Funktion vor dem Funktionsaufruf definiert werden.
     // Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )

Interessante Beiträge...