C ++ Yapısı ve İşlevi

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 voidve tip yapı Kişinin tek argüman geçirilir.

Daha sonra yapının üyeleri pbu 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 .

Ilginç makaleler...