Avatar ·

هل يمكن أن يكون للهيكل (struct) مُنشئ في C++؟

مرحبًا! لقد بدأت للتو في تعلم C++ وواجهت بعض الالتباس. في لغة C، اعتدت أن struct هو مجرد مجموعة من البيانات، ولا يمكن أن يكون له أي methods. لكن في C++، أرى أن struct يشبه class، ولكن مع أعضاء public بشكل افتراضي. سؤالي: هل يمكن أن يكون للهيكل (struct) مُنشئ (constructor)؟ إذا كان الأمر كذلك، فكيف يعمل؟ لقد حاولت كتابة هذا الكود: ```cpp #include using namespace std; struct Point { int x; int y; // محاولة إضافة مُنشئ Point(int a, int b) { x = a; y = b; } }; int main() { Point p1(10, 20); // خطأ؟ أم يعمل؟ cout << p1.x << " " << p1.y; return 0; } ``` لكني لست متأكدًا مما إذا كان هذا صحيحًا. يبدو أن المترجم لا يشتكي، لكن في بعض الكتب يُكتب أن struct...