الشبكة العربية لمطوري الألعاب

خبير  أحمد عبد الغني مشاركة 1

ما هو الفرق حقاً بين الـ struct و الـ class في الـ C والـ ++C ؟

سلام
__
هناك 10 أنواع من البشر.. من يعرف نظام العد الثنائي، ومن لا يعرفه!

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

محترف مشرف عبد اللطيف حاجي علي مشاركة 2

التعليق على مشاركة أحمد عبد الغني في Aug 7, 2005 21:50 :

> ما هو الفرق حقاً بين الـ struct و الـ class في الـ
> C والـ ++C ؟

ببساطة struct هو class للـ Native C (بدون ++) يمكنك من خلال الـ struct تعريف متغيرات ،إجراءات ،typedefs، Constructor، Destructor مثل الـ class تماماً...
الفارق الوحيد هنا هو الـ Access الافتراضي... فبينما في الـ struct الـ Access الافتراضي public فإن الـ Access الافتراضي للـ class هو private (في الإعلان عن المتغيرات و الإجراءات و الـ inheritance)

لاحظ أنه لا يوجد ما يسمى class في الـ Native C فقط struct

عبد اللطيف حاجي علي
مبرمج
In|Framez

خبير  أحمد عبد الغني مشاركة 3

والإنهيريتانس (الوراثة) أيضاً موجودة في الـ struct؟

__
هناك 10 أنواع من البشر.. من يعرف نظام العد الثنائي، ومن لا يعرفه!

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

خبير  Mohammad Khashashneh مشاركة 4

Yes struct has a public base class inheritance. class has a private base class inheritance.

من سار على الدرب وصل, من جد وجد...
بس عتبك على اللي بيسمع

خبير  أحمد عبد الغني مشاركة 5

إذن، كهندسة برمجيات... متى أستخدم struct ومتى أستخدم class، باعتبار أنه يمكنني دائماً إجبار أيهما ليعمل مثل الآخر... مثلاً:

class CFoo
{
public:
..
..
..
};

مثل:

struct CFoo
{
..
..
..
};

__
هناك 10 أنواع من البشر.. من يعرف نظام العد الثنائي، ومن لا يعرفه!

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

خبير  سعيد بسيوني مشاركة 6

أنا بحب أستخدم struct للبيانات البسيطة، والـ class للبيانات المعقدة اللي تيجي مع عمليات وتوابع بتشتغل عليها...

خبير  Mohammad Khashashneh مشاركة 7

Usually struct is used when you define an Interface or an abstract class so that when you inherit it you can implement its virtual methods without worrying about the private access modifier. Most of the COM object interfaces are defined using struct or Interface which is a typedef of struct.

Mohammad Khashashneh

من سار على الدرب وصل, من جد وجد...
بس عتبك على اللي بيسمع

خبير مدير وسام البهنسي مشاركة 8

همم... لم يخطر ببالي هذا السبب أبداً...
بشكل شخصي، أنا أشارك سعيد بسيوني فكرته. أستخدم struct للتعبير عن التراكيب التي تحوي متغيرات بسيطة كلها public... بينما أترك الـ class للتعبير عن الـ objects بشكل أكثر تركيزاً...

وسام البهنسي
مبرمج في إنفيديا وإنفريمز