English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليميات C++ الأساسية

تحكم C++ في العملية

الوظائف الخاصة بـ C++

C++ اللوائح & الأنماط

C++ بنية البيانات

C++ كلاً وأصناف

المراجع الخاصة بـ C++

الوراثة الخاصة بـ C++

تعليمية STL الخاصة بـ C++

دليل C++

البنية والوظائف الخاصة بـ C++

في هذا المقال، ستجد أمثلة حول نقل هيكل كمعامل إلى دالة، واستخدامه في البرنامج.

يمكن نقلالهيكلتم نقل المعامل إلىالدالةويعاد إليها بنفس الطريقة التي تعاد بها المتغيرات العادية.

نقل هيكل إلى دالة في C++

يمكن نقل هيكل المتغير كمعامل إلى الدالة مثل المعامل العادي.

النموذج 1: هيكل C++ والوظائف

#include <iostream>
using namespace std;
struct Person
{
    char name[50];
    int age;
    float salary;
};
void displayData(Person);   // إعلان الدالة
int main()
{
    Person p;
    cout << "ادخل الاسم: ";
    cin.get(p.name, 50);
    cout << "ادخل العمر: ";
    cin >> p.age;
    cout << "ادخل الراتب: ";
    cin >> p.salary;
    // استدعاء الدالة، متغير الهيكل كمعامل
    displayData(p);
    return 0;
}
void displayData(Person p)
{
    cout << "\nعرض المعلومات" << endl;
    cout << "الاسم: " << p.name << endl;
    cout << "العمر: " << p.age << endl;
    cout << "الراتب: " << p.salary;
}

نتائج الإخراج

ادخل الاسم: Bill Jobs
ادخل العمر: 55
ادخل الراتب: 34233.4
عرض المعلومات
الاسم: Bill Jobs
العمر: 55
الراتب: 34233.4

في هذا البرنامج، يطلب من المستخدم إدخال اسم شخص، وعمر، وراتب في دالة main().

ثم، باستخدام نقل هيكل المتغير p إلى الدالة.

displayData(p);

نوع العودة لـ displayData هو void، ويتم تمرير معامل لهيكل Person.

ثم عرض أعضاء هيكل p من هذه الدالة.

النموذج 2: رجوع هيكل من دالة في C++

#include <iostream>
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 << "ادخل الاسم: ";
    cin.get(p.name, 50);
    cout << "ادخل العمر: ";
    cin >> p.age;
    cout << "ادخل الراتب: ";
    cin >> p.salary;
    return p;
}
void displayData(Person p)
{
    cout << "\nعرض المعلومات" << endl;
    cout << "الاسم: " << p.name << endl;
    cout << "العمر: " << p.age << endl;
    cout << "الراتب: " << p.salary;
}

}

نتيجة البرنامج المخرج لهذه البرنامج مشابهة لنتيجة البرنامج السابق.

تم تعريف متغير البنية من نوع Person في وظيفة main()

p = getData(p);

ملاحظة:إذا كانت أنواع كلا من متغيرات البنية متطابقة، يمكن استخدام عمليات التوزيع.(=)() توزيع قيم جميع أعضاء البنية إلى بنية أخرى. لا تحتاج إلى توزيع كل عضو يدويًا.

ثم نقل متغير البنية p إلى وظيفة displayData()، التي تعرض المعلومات.