Felder von Objecten dynamische erweitern
-
Hallo
Hab schon in der Suche nachgeschaut, habe aber nichts gefunden.
Folgendes Problem:
Ich habe ein Array von Objecten einer bestimmten Klasse. Ist es nun möglich eizelne Felder dynamisch hinzuzufügen, sprich aus einem [5]er Array ein [6]er zu machen?Falls das nicht gehen sollte, gibt´s alternativen?
Danke schonmal im vorraus für jede Antwort.
Gruß
Björn
-
CArray z.b.
das ist aber ein array template. den typ muss man definieren.z.b. CArray<CMeineKlasse>
schau dir dazu beispiele in der msdn an.würde aber selbst zu CObArray greifen.
"Ob", weil jede klasse auch unausdrücklich von CObject erbt.// example for CObArray::Add CObArray array; array.Add( new CAge( 21 ) ); // Element 0 array.Add( new CAge( 40 ) ); // Element 1 #ifdef _DEBUG afxDump.SetDepth( 1 ); afxDump << "Add example: " << &array << "\n"; #endif The results from this program are as follows: Add example: A CObArray with 2 elements [0] = a CAge at $442A 21 [1] = a CAge at $4468 40 // example for CObArray::operator [] CObArray array; CAge* pa; array.Add( new CAge( 21 ) ); // Element 0 array.Add( new CAge( 40 ) ); // Element 1 pa = (CAge*)array[0]; // Get element 0 ASSERT( *pa == CAge( 21 ) ); // Get element 0 array[0] = new CAge( 30 ); // Replace element 0 delete pa; ASSERT( *(CAge*) array[0] == CAge( 30 ) ); // Get new element 0