Comment passer et retourner une structure à une fonction en C++
Les variables de structure peuvent être transmises à une fonction et retournées de la même manière que les arguments classiques.
Passer une structure à une fonctionner en C++
Une structure peut être transmise à une fonction de la même manière qu’un argument normal. Considérons cet exemple:
#include <iostream>
using namespace std;
struct Employee{
char name[30];
int id;
int age;
};
void afficher(Employee e){
cout << "****** Employé ****" << endl;
cout << "Nom: " << e.name << endl;
cout << "ID: " << e.id << endl;
cout << "Age: " << e.age;
}
int main(){
Employee emp;
cout << "Entrez le nom de l'employé: ";
cin.getline(emp.name, 30);
cout << "Entrez l'id de l'employé: ";
cin >> emp.id;
cout << "Entrez l'age de l'employé: ";
cin >> emp.age;
// la structure p est passée à la fonction afficher
afficher(emp);
return 0;
}
La sortie :

Retourner une structure à une fonctionner en C++
#include <iostream>
using namespace std;
struct Employee{
char name[30];
int id;
int age;
};
void afficher(Employee emp){
cout << "****** Employé ****" << endl;
cout << "Nom: " << emp.name << endl;
cout << "ID: " << emp.id << endl;
cout << "Age: " << emp.age;
}
Employee insert(Employee emp) {
cout << "Entrez le nom de l'employé: ";
cin.getline(emp.name, 30);
cout << "Entrez l'id de l'employé: ";
cin >> emp.id;
cout << "Entrez l'age de l'employé: ";
cin >> emp.age;
return emp;
}
int main()
{
Employee emp;
emp = insert(emp);
afficher(emp);
return 0;
}
La sortie :

La structure emp est transmise à la fonction insert(), qui reçoit les entrées de l’utilisateur et qui est ensuite renvoyée à la fonction principale.
Ensuite, la structure emp est transmise à la fonction afficher(), qui affiche les informations de l’employé.

