الهياكل (struct)
في لغة C++ تسمح لك البنية (struct) بتجميع عدة أجزاء من البيانات تحت اسم واحد. يمكنك التفكير فيها كنوع بيانات مخصّص تقوم أنت بتصميمه بنفسك.
ما هي البنية struct؟
البنية struct تجمع مجموعة من المتغيرات ذات العلاقة (تسمّى أعضاء أو members) وقد تكون من أنواع مختلفة داخل نفس الكيان.
الصيغة
struct TypeName {
member_type1 member_name1;
member_type2 member_name2;
// ...
};TypeName→ اسم نوع البيانات الجديد الذي تعرّفه.- داخل الأقواس المعقوفة
{ }→ الأعضاء (members)، وهي المتغيرات التي تنتمي لهذا النوع.
مثال: بنية product
#include <iostream>
using namespace std;
struct product {
int weight; // in grams
double price; // in riyals
};
int main() {
product apple;
product banana, melon;
apple.weight = 150;
apple.price = 1.99;
banana.weight = 120;
banana.price = 0.99;
cout << "Apple: " << apple.weight << " g, " << apple.price << " SAR" << endl;
cout << "Banana: " << banana.weight << " g, " << banana.price << " SAR" << endl;
}في هذا المثال:
عرّفنا نوعًا جديدًا اسمه
product.هذا النوع يحتوي عضوين:
weightمن نوعintيمثّل الوزن بالجرام.priceمن نوعdoubleيمثّل السعر بالريال.
بعدها أنشأنا متغيّرات (كائنات) من هذا النوع: apple، banana، وmelon، وأعطينا كلًا منها قيمًا خاصة به.
الوصول إلى الأعضاء
نستخدم عامل النقطة .:
apple.weight→ عضو من نوعintapple.price→ عضو من نوعdouble
يمكنك القراءة من هذه الأعضاء أو التعديل عليها مثل أي متغير عادي تمامًا.
تعريف كائنات مباشرة بعد تعريف البنية
يمكنك أيضًا تعريف المتغيرات في نهاية تعريف البنية مباشرة:
struct product {
int weight;
double price;
} apple, banana, melon;هنا:
productهو اسم النوع (البنية).apple،banana،melonهي متغيرات (كائنات) من هذا النوع.