الفرق بين الهيكل والفئة في C++
الاختلافات الرئيسية بين البنية والفئة في C++
- البنية هي نوع بيانات محدد من قبل المستخدم يقوم بتجميع عناصر البيانات المرتبطة منطقيًا، في حين أن الفئة هي مخطط يستخدم لإنشاء أنواع محددة من الكائنات.
- In C++، تدعم كل من الهياكل والفئات المنشئين والمدمرين المحددين من قبل المستخدم.
- الفرق الأساسي هو أن أعضاء الهيكل تكون عامة بشكل افتراضي، بينما تكون أعضاء الفئة خاصة بشكل افتراضي.
- كلاهما يمكن أن يدعم الوراثة، تعدد الأشكال، والتغليف.
- غالبًا ما تُستخدم الهياكل لتجميع البيانات البسيطة؛ وتُفضل الفئات للسلوكيات والتصميمات المعقدة.
- يعتمد تخصيص الذاكرة (المكدس أو الكومة) على كيفية إعلان الكائنات، وليس على ما إذا كانت فئات أو هياكل.
- يمكن تهيئة المتغيرات الأعضاء مباشرة داخل كل من الهياكل والفئات في الأنظمة الحديثة C++.

ما هو الهيكل في C++?
الهيكل هو نوع بيانات محدد من قبل المستخدم يجمع عناصر البيانات المرتبطة منطقيًا من أنواع البيانات المختلفة مثل float وchar وint وما إلى ذلك معًا.
يتم تخزين كافة عناصر البنية في مواقع ذاكرة متجاورة. يساعدك متغير نوع البنية على تخزين أكثر من عنصر بيانات واحد من أنواع البيانات المختلفة تحت اسم واحد.
بناء جملة الهيكل في C++
هنا بناء جملة الهيكل:
struct struct_name { // struct data members }
في بناء الجملة أعلاه، يتم استخدام الكلمة الأساسية الهيكلية. struct_name هو اسم البنية. تتم إضافة أعضاء البنية داخل الأقواس المتعرجة. ربما ينتمي هؤلاء الأعضاء إلى أنواع بيانات مختلفة.
ما هو الصف في C++?
الفئة عبارة عن مخطط أو مجموعة من التعليمات لبناء نوع معين من الكائنات. إنه مفهوم أساسي للبرمجة الشيئية التي تدور حول كيانات الحياة الواقعية. فئة في أ لغة برمجة يحدد كيف سيتصرف الكائن وما سيحتوي عليه الكائن.
الفئة هي أيضًا نوع بيانات محدد من قبل المستخدم ويمكن أن تحتوي على أنواع مختلفة من أنواع البيانات ووظائف الأعضاء داخل جسمها.
بناء جملة الفئة في C++
فيما يلي بناء جملة الفئة:
class class-name { // data // functions };
في بناء الجملة أعلاه، اسم الفئة هو الاسم الذي تم تعيينه للفئة. البيانات هي عضو الفئة، وعادة ما يتم الإعلان عنها كـ المتغيرات. الوظائف هنا هي وظائف الفئة.
الهيكل مقابل الفئة في C++
هنا هو الفرق الرئيسي بين الهيكل والفئة في C++:
الهيكلية | الفئه |
---|---|
البنية هي نوع بيانات محدد من قبل المستخدم يقوم بتجميع المتغيرات ذات الصلة. | الفئة هي نوع بيانات محدد من قبل المستخدم يعمل كنموذج للكائنات. |
تم الإعلان باستخدام struct الكلمة. |
تم الإعلان باستخدام class الكلمة. |
مُحدد الوصول الافتراضي هو جمهور. | مُحدد الوصول الافتراضي هو خاص. |
يدعم وظائف الأعضاء والمنشئين والمدمرين والوراثة تمامًا مثل الفئات. | يدعم بشكل كامل ميزات البرمجة الكائنية التوجه مثل المنشئين والمدمرين والميراث والتعدد الأشكال. |
يمكن أن تكون الأعضاء خاصة أو محمية إذا تم الإعلان عنها صراحةً. | الأمر نفسه ينطبق هنا - يتم دعم التحكم في الوصول بشكل كامل. |
In C++، الهياكل والفئات متطابقة تقريبًا، باستثناء محدد الوصول الافتراضي. | نفس الإمكانيات؛ فقط يختلف مُحدد الوصول الافتراضي. |
تُستخدم غالبًا لهياكل البيانات البسيطة (POD: بيانات قديمة بسيطة). | تُستخدم غالبًا لتصميم OOP الكامل. |
تتم الإشارة إلى الحالات عادةً باسم "متغيرات البنية" بشكل غير رسمي. | تُسمى الحالات بالأشياء. |
أي واحد يجب عليك أن تختار؟
إذا كان لديك مساحة كبيرة من الذاكرة أو ترغب في استخدام مفهوم مثل الميراث، فيمكنك اختيار الفصل الدراسي. من ناحية أخرى، يمكن استخدام البنية عندما يكون لديك حقل ذاكرة صغير أو مساحة صغيرة مطلوبة لتهيئة القيم الافتراضية.