Bu makalede, yapıları bir işleve argüman olarak iletmek için ilgili örnekler bulacak ve bunları programınızda kullanacaksınız.
Yapı değişkenleri bir işleve aktarılabilir ve normal argümanlara benzer şekilde döndürülebilir.
Yapıyı C ++ 'da işleve geçirme
Bir yapı değişkeni, normal bağımsız değişkenle benzer şekilde bir işleve aktarılabilir. Şu örneği düşünün:
Örnek 1: C ++ Yapısı ve İşlevi
#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; )
Çıktı
Tam adı girin: Fatura İşleri Yaş girin: 55 Maaş girin: 34233.4 Bilgi Görüntüleme. İsim: Bill Jobs Yaş: 55 Maaş: 34233.4
Bu programda, kullanıcıdan içerideki bir Kişinin adını, yaşını ve maaşını girmesi istenir main()
.
Daha sonra, yapı değişkeni p kullanılarak bir işleve aktarılır.
displayData (p);
Dönüş tipi displayData()
IS void
ve tip yapı Kişinin tek argüman geçirilir.
Daha sonra yapının üyeleri p
bu işlevden görüntülenir.
Örnek 2: C ++ 'da işlevden yapı döndürme
#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; )
Bu programın çıktısı yukarıdaki programla aynıdır.
Bu programda, Person yapısının yapı değişkeni p, main()
function altında tanımlanmıştır .
Yapı değişkeni p, getData()
kullanıcıdan girdi alan ve daha sonra ana işleve döndürülen işleve geçirilir .
p = getData (p);
Not: Bir yapı değişkeninin tüm üyelerinin değeri, atama operatörü kullanılarak başka bir yapıya atanabilir = eğer her iki yapı değişkeni aynı tipteyse. Her üyeyi manuel olarak atamanıza gerek yoktur.
Daha sonra yapı değişkeni p, displayData()
bilgiyi gösteren işleve aktarılır .