În acest articol, veți găsi exemple relevante pentru a transmite structuri ca argument către o funcție și pentru a le utiliza în programul dvs.
Variabilele de structură pot fi transmise unei funcții și returnate într-un mod similar cu argumentele normale.
Structura de trecere pentru a funcționa în C ++
O variabilă de structură poate fi transmisă unei funcții în mod similar cu argumentul normal. Luați în considerare acest exemplu:
Exemplul 1: Structura și funcția C ++
#include using namespace std; struct Person ( char name(50); int age; float salary; ); void displayData(Person); // Function declaration int main() ( Person p; cout << "Enter Full name: "; cin.get(p.name, 50); cout <> p.age; cout <> p.salary; // Function call with structure variable as an argument displayData(p); return 0; ) void displayData(Person p) ( cout << "Displaying Information." << endl; cout << "Name: " << p.name << endl; cout <<"Age: " << p.age << endl; cout << "Salary: " << p.salary; )
Ieșire
Introduceți numele complet: Bill Jobs Introduceți vârsta: 55 Introduceți salariul: 34233.4 Afișarea informațiilor. Nume: Bill Jobs Vârstă: 55 Salariu: 34233,4
În acest program, utilizatorul este rugat să introducă numele, vârsta și salariul unei persoane din cadrul main()
funcției.
Apoi, variabila de structură p este transmisă unei funcții folosind.
displayData (p);
Tipul returnat de displayData()
este void
și este trecut un singur argument al structurii de tip Persoană.
Apoi, membrii structurii p
sunt afișați din această funcție.
Exemplul 2: Returnarea structurii din funcție în C ++
#include using namespace std; struct Person ( char name(50); int age; float salary; ); Person getData(Person); void displayData(Person); int main() ( Person p; p = getData(p); displayData(p); return 0; ) Person getData(Person p) ( cout << "Enter Full name: "; cin.get(p.name, 50); cout <> p.age; cout <> p.salary; return p; ) void displayData(Person p) ( cout << "Displaying Information." << endl; cout << "Name: " << p.name << endl; cout <<"Age: " << p.age << endl; cout << "Salary: " << p.salary; )
Rezultatul acestui program este același cu programul de mai sus.
În acest program, variabila de structură p a structurii de tip Persoană este definită sub main()
funcție.
Variabila de structură p este transmisă getData()
funcției care preia intrarea de la utilizator, care este apoi revenită la funcția principală.
p = getData (p);
Notă: valoarea tuturor membrilor unei variabile de structură poate fi atribuită unei alte structuri utilizând operatorul de atribuire = dacă ambele variabile de structură sunt de același tip. Nu trebuie să atribuiți manual fiecărui membru.
Apoi variabila de structură p este trecută la displayData()
funcție, care afișează informațiile.