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

هل يوجد طريقة لبناء عدة اوبجكتات بطريقة ديناميكية

بدأه gheath في 30 أغسطس 2008 · 5 رد · 791 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كنت قد بنيت كلاس لكن اريد ان ابني عدد غير معروف من الابجكتات من هذا الكلاس دون معرف العدد

حاولت ان ادخله الى حلفة فور مع اعضاء اسم ديناميكي للوبجكت لكنه لم ينفع هل يوجد طريقة ما

شكرا مقدما

#2
while ( true )
{

if ( condition ) 
MyObject * myobject = new MyObject();

}

هكذا نقوم بعمل كائنات في حال كان الشرط true ..

لا تنسى تحرير الكائن باستخدام delete ..

للمزيد : راجع دروس التعامل مع new و delete .

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3
vector<Object*> vObjs;
Object* pObj = 0;

int n;

cout << "How many objects you wanna create: "; cin >> n;
vObjs.reserve(n+2);

for(int i = 0; i < n; ++i)
{
	pObj = new Object;
	vObjs.push_back(pObj);
}

تم تعديل هذه المشاركة بواسطة Ferrum في 31 أغسطس 2008 في 01:16

:::كوت بو 6:::

IDE : Microsoft Visual Studio 2005 Pro

#4

هذا العمل خطير .

سبحان الله , الله اكبر , ولله الحمد

#5

ولا تزعل :D

for(int i = 0; i < (int)vObjs.size(); ++i)
	if(vObjs)
		delete vObjs;

vObjs.clear();
:::كوت بو 6:::

IDE : Microsoft Visual Studio 2005 Pro

#6

هذه نسخة بدون نيو ولا ديليت

 vector<myClass> objects;

 unsigned int numObj = 0;
 cin >> numObj;
 for ( unsigned int i = 0; i < numObj; i++)
 {
 objects.push_back(myClass());
 }

ولاستخدام الفيكتور :

   for( vector<myClass>::iterator i = objects.begin(); i != objects.end(); i++)
   {
   i.someFunctionInMyClass();
   }

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…