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

Wir können die Funktionsweise von Standardargumenten anhand des obigen Bildes verstehen:
- Beim
temp()
Aufruf werden beide Standardparameter von der Funktion verwendet. - Beim
temp(6)
Aufruf wird das erste Argument,6
während der Standardwert für den zweiten Parameter verwendet wird. - Beim
temp(6, -2.3)
Aufruf werden beide Standardparameter überschrieben, was zui = 6
und führtf = -2.3
. - 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.
Daher3.4
wird als erstes Argument übergeben. Da das erste Argument als definiertint
wurde, ist der tatsächlich übergebene Wert3
.
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:
display()
wird aufgerufen, ohne Argumente zu übergeben. In diesem Falldisplay()
werden sowohl die Standardparameterc = '*'
als auch verwendetn = 1
.display('#')
wird mit nur einem Argument aufgerufen. In diesem Fall wird der erste'#'
. Der zweite Standardparametern = 1
bleibt erhalten.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
- 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);
- 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 )