У овом ћете чланку пронаћи релевантне примере за прослеђивање структура као аргумента функције и користити их у вашем програму.
Променљиве структуре могу се проследити функцији и вратити на сличан начин као и нормални аргументи.
Прослеђивање структуре у функцију на Ц ++
Променљива структура може се пренети функцији на сличан начин као и нормални аргумент. Размотрите овај пример:
Пример 1: Структура и функција Ц ++
#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; )
Оутпут
Унесите пуно име: Билл Јобс Унесите старост: 55 Унесите плату: 34233.4 Приказивање информација. Име: Билл Јобс Старост: 55 Плата: 34233.4
У овом програму се од корисника тражи да унесе име, старост и плату особе у main()
функцији.
Затим се променљива структуре п преноси функцији помоћу.
дисплаиДата (п);
Повратни тип displayData()
је void
и један аргумент структуре типова Особа је прослеђена.
Тада се p
из ове функције приказују чланови структуре .
Пример 2: Враћање структуре из функције у Ц ++
#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; )
Резултат овог програма је исти као и програм изнад.
У овом програму је променљива структуре п структурног типа Персон дефинисана под main()
функцијом.
Променљива структура п се преноси getData()
функцији која узима унос од корисника који се затим враћа главној функцији.
п = гетДата (п);
Напомена: Вредност свих чланова променљиве структуре може се доделити другој структури помоћу оператора додељивања = ако су обе променљиве структуре истог типа. Не морате ручно да доделите сваког члана.
Тада се променљива структуре п преноси у displayData()
функцију која приказује информације.