Standardargumente (Parameter) für die C++-Programmierung
Standardargumente (Parameter) für die C++-Programmierung
In diesem Tutorial lernen wir C++-Standardargumente und ihre Funktionsweise anhand von Beispielen kennen.
Bei 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.
Funktionieren von Standardargumenten
Wir können die Funktionsweise von Standardargumenten aus dem obigen Bild verstehen:
- Wenn
temp()
aufgerufen wird, werden beide Standardparameter von der Funktion verwendet. - Wenn
temp(6)
aufgerufen wird, wird das erste Argument zu6
während für den zweiten Parameter der Standardwert verwendet wird. - Wenn
temp(6, -2.3)
aufgerufen wird, werden beide Standardparameter überschrieben, was zui = 6
führt undf = -2.3
. - Wenn
temp(3.4)
übergeben wird, 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 alsint
definiert wurde , der tatsächlich übergebene Wert ist3
.
Beispiel:Standardargument
#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;
}
Ausgabe
No argument passed: *** First argument passed: ### Both arguments passed: $$$$$
So funktioniert dieses Programm:
display()
wird ohne Übergabe von Argumenten aufgerufen. In diesem Falldisplay()
verwendet beide Standardparameterc = '*'
undn = 1
.display('#')
wird mit nur einem Argument aufgerufen. In diesem Fall wird der erste zu'#'
. 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 <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;
}
Erinnerungen
- Sobald wir einen Standardwert für einen Parameter bereitstellen, müssen alle nachfolgenden Parameter ebenfalls Standardwerte haben. Beispiel:
// 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 }
C Sprache