Avatar ·

هل يمكن أن تحتوي البنية (struct) على مُنشئ في C++؟

مرحبًا! لقد بدأت للتو في تعلم C++ وواجهت بعض الالتباس. في لغة C، اعتدت أن struct هي مجرد مجموعة من البيانات، ولا يمكن أن تحتوي على أي methods. لكن في C++، أرى أن struct تشبه class، ولكن مع أعضاء public بشكل افتراضي. سؤالي: هل يمكن أن تحتوي البنية على مُنشئ؟ إذا كان الأمر كذلك، فكيف يعمل؟ لقد حاولت كتابة هذا الكود: ```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