Avatar ·

متى تستخدم class ومتى تستخدم struct في C++؟ القواعد وأفضل الممارسات

مرحبًا بالجميع! لقد بدأت مؤخرًا في تعلم C++ وأصبحت مرتبكًا بشأن الاختيار بين class وstruct. يبدو أنهما متشابهان تقريبًا في C++، لكني أرى أن المبرمجين ذوي الخبرة يستخدمونهما بشكل مختلف. على سبيل المثال، كتبت هذا الكود لنقطة على المستوى: ```cpp struct Point { int x; int y; }; class Circle { private: int radius; public: Circle(int r) : radius(r) {} int getRadius() { return radius; } }; ``` ولكن بعد ذلك رأيت شخصًا يفعل هذا: ```cpp class Point2 { public: int x; int y; }; ``` وأصبح غير واضح بالنسبة لي — لماذا استخدام class إذا كان كل شيء عامًا؟ والعكس صحيح، لماذا لا نصنع struct بحقول وطرق خاصة؟ سمعت أن هناك "قاعدة إبهام" (rule of thumb)، لكن لا يمكنني العثور على شرح واضح. متى يجب أن أختار struct ومتى class؟ هل هناك اتفاقيات أم أنها مجرد مسألة ذوق؟ سأكون ممتنًا لإجابة مفصلة مع أمثلة! <<>>

الفرق الأساسي: