V tomto článku nájdete príslušné príklady na odovzdanie štruktúr ako argumentu funkcii a ich použitie vo vašom programe.
Štruktúrne premenné je možné odovzdať funkcii a vrátiť ich podobným spôsobom ako bežné argumenty.
Predávanie štruktúry funkcii v C ++
Štruktúrnu premennú je možné odovzdať funkcii podobným spôsobom ako normálny argument. Zvážte tento príklad:
Príklad 1: C ++ štruktúra a funkcia
#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; )
Výkon
Zadajte celé meno: Bill Jobs Zadajte vek: 55 Zadajte plat: 34233.4 Zobrazenie informácií. Meno: Bill Jobs Vek: 55 Plat: 34233,4
V tomto programe je používateľ vyzvaný na zadanie mena, veku a platu funkcie Osoba vo vnútri main()
.
Potom sa má premenná štruktúry p odovzdať funkcii pomocou.
displayData (p);
Je vrátený návratový typ displayData()
is void
a jeden argument typovej štruktúry Person.
Potom p
sa z tejto funkcie zobrazia členovia štruktúry .
Príklad 2: Vrátenie štruktúry z funkcie v 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; )
Výstup tohto programu je rovnaký ako vyššie uvedený program.
V tomto programe je vo main()
funkcii definovaná štruktúrna premenná p typovej štruktúry Person .
Štrukturálna premenná p sa odovzdá getData()
funkcii, ktorá prevezme vstup od používateľa, ktorý sa potom vráti do hlavnej funkcie.
p = getData (p);
Poznámka: Hodnotu všetkých členov premennej štruktúry je možné priradiť k inej štruktúre pomocou priradenia operator =, ak sú obidve premenné štruktúry rovnakého typu. Nie je potrebné manuálne priraďovať každého člena.
Potom sa štrukturálna premenná p odovzdá displayData()
funkcii, ktorá zobrazí informácie.