Argumente durch Referenz in C ++ - Funktion übergeben

Argumente durch Referenz in C ++ - Funktion übergeben

Eine Funktion kann im Code mit Argument oder ohne Argument definiert werden. Der Wert des Arguments kann durch Wert oder Referenz in das Argument der Funktion übergeben werden. Wenn der Argumentwert der Funktion von der Referenz übergeben wird, dann teilen Sie sowohl die Argumentvariable als auch die Variable, die den Wert durch Bezugnahme auf dieses Argument übergibt.

Der Wert der Variablen wird also geändert, wenn der Wert der Argumentvariablen in der Funktion geändert wird. Das "&" -Symbol wird im Argument der Funktion verwendet, um das Argument durch Referenz zu deklarieren. Die verschiedenen Möglichkeiten, das Argument durch Referenz in der C ++ - Funktion zu übergeben, haben in diesem Tutorial gezeigt.

Beispiel-1: Übergeben Sie ein einzelnes Argument durch Referenz

Der Weg, ein einzelnes Argument durch Bezugnahme auf eine Funktion zu übergeben, hat im folgenden Beispiel gezeigt. Hier wird ein Stringwert in eine Variable namens Strval initialisiert. Diese Variable wurde als Argument der genannten Funktion bestanden FunktionByReference ().

Das Argument durch Referenzvariable mit dem Namen STR wurde im Funktionsargument verwendet. Der Wert der Referenzvariablen wird nach dem Aufrufen dieser Funktion geändert. Der Wert von Strval wird vor und nach dem Aufrufen der Funktion gedruckt, um zu überprüfen, wie die Referenzvariable funktioniert.

// die notwendige Bibliothek einschließen
#enthalten
Verwenden von Namespace STD;
// Die Funktion mit dem Anruf durch Referenzargument deklarieren
void FunctionByReference (String & Str)

// den Referenzwert ändern
Str = "Ich mag C ++ programmieren";

int main ()

// eine String -Variable initialisieren
String strval = "Ich mag programmieren";
// Drucken Sie den Anfangswert der Variablen
Cout << "The value of strVal before calling the function:" << strVal << '\n';
// Aufruffunktion mit der String -Variablen
FunktionByReference (Strval);
// Drucken Sie den geänderten Wert der Variablen
Cout << "The value of strVal after calling the function is:" << strVal << '\n';
Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Codes angezeigt. Der Wert des Strval lautete "Ich mag es zu programmieren", bevor er die Funktion aufrief, und der Wert dieser Variablen wird in "Ich mag C ++ -Programmierung" geändert, nachdem die Funktion zum Übergeben des Arguments durch Referenz aufgerufen wurde.

Beispiel 2: Ändern Sie den Inhalt der Referenzvariablen basierend auf der Bedingung

Das folgende Beispiel zeigt den Weg, um den Wert der Referenzvariablen basierend auf der spezifischen Bedingung zu ändern. Hier wird die Funktion namens calculategrad () das erste Argument durch Bezugnahme und das zweite Argument nach Wert nimmt.

Der Wert des ersten Arguments wird basierend auf dem von dem zweiten Argument übergebenen Wert geändert. Der Benutzer werden zwei Werte entnommen und an die Funktion übergeben, und der geänderte Wert der mit der Referenz übergebenen Variablen wird nach der Ausführung des Codes gedruckt.

/// die notwendige Bibliothek einbeziehen
#enthalten
Verwenden von Namespace STD;
/*
Deklarieren Sie die Funktion mit einem Aufruf durch Referenzargument
und ein Anruf nach Wertargument zur Berechnung der Note
und ändern Sie die Referenzvariable
*/
void Calculategrad (String & Info, int Marks)

if (Marks> = 80)
info = info + "Got a+.";
sonst wenn (Marks <80 && marks>= 75)
info = info + "Got a.";
sonst wenn (Marks <75 && marks>= 70)
info = info + "Got a-.";
anders
Info = "Keine Einstufungsinformationen gefunden.";

int main ()

String -Info;
int Marks;
// Nehmen Sie Eingaben vom Benutzer ab
Cout << "Enter the student ID:" ;
CIN >> Info;
Cout << "Enter the obtained marks:" ;
cin >> Marks;
// Aufruffunktion mit zwei Variablen
Calculategrad (Info, Marks);
// Drucken Sie den geänderten Wert der Referenzvariablen
Cout << info << '\n';
Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Codes angezeigt. Die Ausgabe zeigt, dass der Wert der Referenzvariablen von '784534' auf '784534 für den Wert von Mark 84 geändert wird.

Beispiel-3: Übergeben mehrerer Argumente durch Referenz

Das folgende Beispiel zeigt den Weg, um mehrere Argumente durch Werte in eine Funktion zu übergeben und die Werte dieser Argumente basierend auf den Werten der anderen Argumente zu ändern. Drei Eingaben werden vom Benutzer entnommen, bevor die Funktion aufgerufen wird.

Hier werden Bonus (%) und Gesamtvariablen als Argumente durch Referenz übergeben, und zwei weitere Variablen, Gehalt und Erfahrung werden durch den Wert in die Funktion CalculateSalaryWithbonus übergeben, wenn es aufgerufen wird. Die Funktion ändert die Werte von Bonus- und Gesamtvariablen basierend auf anderen Variablen.

// notwendige Bibliotheken einschließen
#enthalten
#enthalten
Verwenden von Namespace STD;
// Die Funktion mit dem Anruf durch Referenzargument deklarieren
void calculatealaryWithbonus (int sal, int yr, float & bonus, double & insgesamt)

// Legen Sie den Bonus basierend auf der Erfahrung fest
if (yr> = 5)
Bonus = 0.10;
sonst wenn (yr> = 2)
Bonus = 0.07;
Total = Sal + Sal*Bonus;

int main ()

// notwendige Variablen deklarieren
Float Bonus = 0.05;
doppeltes Gesamt = 0.0;
Int -Gehalt, Erfahrung;
Zeichenfolge Name;
// Eingabe vom Benutzer eingeben
Cout << "Enter the employee name:" ;
getline (cin, name);
Cout << "Enter the salary:" ;
CIN >> Gehalt;
Cout << "Enter the years of experience:" ;
CIN >> Erfahrung;
// Rufen Sie die Funktion auf, um das Gehalt basierend auf dem Bonus zu berechnen
CalculatealaryWithbonus (Gehalt, Erfahrung, Bonus, Gesamt);
// Die Gehaltsdetails drucken
Cout << "Salary information with bonus: \n";
Cout << "Name: " << name << "\n";
Cout << "Salary: " << salary << "\n";
Cout << "Experience: " << experience << "years" << "\n";
Cout << "Bonus(%): " << bonus << "\n";
Cout << "Salary with bonus: " << total << "\n";
Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird angezeigt, nachdem der oben genannte Code basierend auf der Eingabe des Benutzers ausgeführt wurde. Nach der Ausgabe hat 10 den Erfahrungswert, der größer als 5 ist. Der Wert des Bonus wurde also auf 0 geändert.10 und der Wert der Gesamtsumme wurde basierend auf dem Bonus gezählt.

Abschluss

Die Verwendung des Arguments durch Referenz in die C ++ - Funktion wurde in diesem Tutorial erläutert, indem verschiedene Beispiele verwendet werden, um den neuen C ++ - Codierern zu helfen, diese Funktion in ihrem Code ordnungsgemäß zu verwenden.