الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الى من يجيد ال class

مغلق
بدأه زيد العمري في 13 نوفمبر 2004 · 2 رد · 453 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلا عليكم و رحمة الله

سؤالي حول constructor

class يحتوي على string معرفة كـ private

اريد عمل constructor لـِ array of object

علما انه يتم ادخال string في الـ main() م الـ constructor يستلم هذه الـ string و يضعها في ال string التابعه ل class ..

اليكم محاولاتي

class string

}

char str[20];

public:

string(char s1[20])

{

strcpy(str,s1);

}

.

.

{;

main()

}

char s1[20];

for( int i=0;i<5;i++)

}

gets(s1);

string a(s1);

{

{

على افتراض ان array 5 objects

علما ان ال compiler يعترض على هذه الجملة

string a(s1); //error

اسف لاني اطلتُ عليكم و لكني محتاج للمساعدة و بأسرع وقت ..

فلا تردوني

برامج في ال C#

إذا اشتكى مسلم في الهند أرقني -- وإن بكى مسلم في الصين بكاني

ومصر ريحانتي والشام نرجستي -- وفي الجزيرة تاريخي و عنواني

وفي العراق أكف المجد ترفعني -- إلى بساتين عز ذات أفنانِ

أرى بخارى بلادي وهي نائية -- وأستريح إلى ذكرى خراسانِ

#2

نعم لايمكن تنفيذ هذه الجملة ,, حيث لايمكن تشغييل سوى المشيد الإفتراضي الذي ليس به أي بارمترات بالنسبة للكائنات المصفوفية كهذه :

string a(s1);

وستضطر للتحايل على ذلك بأي طريقة إما أن تجعلها على شكل دالة وتستدعيها بشكل عادي بعد الإنشاء ,,

string a;
for(int x=0;x<i;x++)
a[x].Init(s1);

وهي طريقة جيدة ,,

أو أن تفكر بعض الحيل المرنة في OOP لتلافي ذلك ,, أو ربما تغير هنسة البرانمج بشكل عام ,, توجد إحتمالات كثيرة ,, لكن أنصحك بالأول الموضح في الأعلى ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

شكراً لك اخي

شرحاً وافي .. جزاك الله خيراً

برامج في ال C#

إذا اشتكى مسلم في الهند أرقني -- وإن بكى مسلم في الصين بكاني

ومصر ريحانتي والشام نرجستي -- وفي الجزيرة تاريخي و عنواني

وفي العراق أكف المجد ترفعني -- إلى بساتين عز ذات أفنانِ

أرى بخارى بلادي وهي نائية -- وأستريح إلى ذكرى خراسانِ

هذا الموضوع مغلق.

مواضيع مشابهة