هل يمكن أن تحتوي البنية (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