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
    

Anmelden zum Antworten