Passer des arguments par référence dans la fonction C ++

Passer des arguments par référence dans la fonction C ++

Une fonction peut être définie dans le code avec argument ou sans argument. La valeur de l'argument peut être transmise par valeur ou référence dans l'argument de la fonction. Lorsque la valeur d'argument de la fonction est transmise par la référence, alors la variable d'argument et la variable qui transmet la valeur par référence à cet argument, partagez le même emplacement dans la mémoire.

Ainsi, la valeur de la variable sera modifiée si la valeur de la variable d'argument est modifiée à l'intérieur de la fonction. Le symbole '&' est utilisé dans l'argument de la fonction pour déclarer l'argument par référence. Les différentes façons de passer l'argument par référence dans la fonction C ++ se sont montrées dans ce tutoriel.

Exemple-1: passer un seul argument par référence

La façon de passer un seul argument par référence à une fonction s'est montrée dans l'exemple suivant. Ici, une valeur de chaîne est initialisée en une variable nommée strval. Cette variable est passé comme l'argument de la fonction nommée FunctionByReference ().

L'argument par variable de référence nommé STR a été utilisé dans l'argument de la fonction. La valeur de la variable de référence sera modifiée après avoir appelé cette fonction. La valeur de Strval est imprimée avant et après avoir appelé la fonction pour vérifier comment fonctionne la variable de référence.

// Inclure la bibliothèque nécessaire
#inclure
Utilisation de Namespace Std;
// Déclarer la fonction avec l'appel par argument de référence
void functionbyreference (String & Str)

// modifie la valeur de référence
str = "j'aime la programmation C ++";

int main()

// initialiser une variable de chaîne
String strval = "j'aime la programmation";
// imprime la valeur initiale de la variable
couter << "The value of strVal before calling the function:" << strVal << '\n';
// appelle la fonction avec la variable de chaîne
FunctionbyReference (strVal);
// imprime la valeur modifiée de la variable
couter << "The value of strVal after calling the function is:" << strVal << '\n';
retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus. La valeur du strval était `` j'aime la programmation '' avant d'appeler la fonction et la valeur de cette variable est changée en `` j'aime la programmation C ++ '' après avoir appelé la fonction pour passer l'argument par référence.

Exemple-2: Modifiez le contenu de la variable de référence en fonction de la condition

L'exemple suivant montre la façon de modifier la valeur de la variable de référence en fonction de la condition spécifique. Ici, la fonction nommée Calculategrate () prendra le premier argument par référence et le deuxième argument par valeur.

La valeur du premier argument sera modifiée en fonction de la valeur transmise par le deuxième argument. Deux valeurs seront tirées de l'utilisateur et transmises à la fonction et la valeur modifiée de la variable transmise par référence sera imprimée après l'exécution du code.

/// Inclure la bibliothèque nécessaire
#inclure
Utilisation de Namespace Std;
/ *
Déclarez la fonction avec un appel par argument de référence
et un argument d'appel par valeur pour calculer la note
et modifier la variable de référence
* /
void Calculategrade (chaîne et info, marques int)

if (marques> = 80)
info = info + "obtenu un+."
sinon si (marques <80 && marks>= 75)
info = info + "obtenu un."
sinon si (marques <75 && marks>= 70)
info = info + "obtenu un-."
autre
info = "Aucune information de classement trouvée."

int main()

Informations de chaîne;
Int Marks;
// Prenez les entrées de l'utilisateur
couter << "Enter the student ID:" ;
cin >> info;
couter << "Enter the obtained marks:" ;
cin >> marques;
// appelle la fonction avec deux variables
Calculategrate (info, marques);
// imprime la valeur modifiée de la variable de référence
couter << info << '\n';
retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus. La sortie montre que la valeur de la variable de référence est modifiée de «784534» à «784534 a obtenu un +» pour la valeur de Mark 84.

Exemple-3: passer plusieurs arguments par référence

L'exemple suivant montre la façon de transmettre plusieurs arguments par des valeurs en une fonction et de modifier les valeurs de ces arguments en fonction des valeurs des autres arguments. Trois entrées seront prises de l'utilisateur avant d'appeler la fonction.

Ici, le bonus (%) et les variables totales seront transmis comme arguments par référence, et deux autres variables, salaire et expérience seront transmises par valeur dans la fonction nommée calculsalarywithbonus lorsqu'elle sera appelée. La fonction modifiera les valeurs du bonus et des variables totales basées sur d'autres variables.

// Inclure les bibliothèques nécessaires
#inclure
#inclure
Utilisation de Namespace Std;
// Déclarer la fonction avec l'appel par argument de référence
void calculaLarywithbonus (int sal, int yr, float & bonus, double et total)

// définit le bonus basé sur l'expérience
if (yr> = 5)
bonus = 0.dix;
else if (yr> = 2)
bonus = 0.07;
Total = bonus sal + sal *;

int main()

// Déclarer les variables nécessaires
bonus de flotteur = 0.05;
double total = 0.0;
Salaire int, expérience;
nom de chaîne;
// Prenez les commentaires de l'utilisateur
couter << "Enter the employee name:" ;
getline (cin, nom);
couter << "Enter the salary:" ;
Cin >> salaire;
couter << "Enter the years of experience:" ;
CIN >> Expérience;
// appelle la fonction pour calculer le salaire en fonction du bonus
Calculaalarywithbonus (salaire, expérience, bonus, total);
// imprime les détails du salaire
couter << "Salary information with bonus: \n";
couter << "Name: " << name << "\n";
couter << "Salary: " << salary << "\n";
couter << "Experience: " << experience << "years" << "\n";
couter << "Bonus(%): " << bonus << "\n";
couter << "Salary with bonus: " << total << "\n";
retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus en fonction de l'entrée prise de l'utilisateur. Selon la sortie, 10 a pris comme valeur d'expérience supérieure à 5. Ainsi, la valeur du bonus a été modifiée à 0.10 et la valeur du total a été comptée en fonction du bonus.

Conclusion

L'utilisation de passer l'argument par référence dans la fonction C ++ a été expliquée dans ce tutoriel en utilisant divers exemples pour aider les nouveaux codeurs C ++ à utiliser cette fonctionnalité dans leur code correctement.