dynamischen array mit Pointern



  • moin

    Ich möchte einen dynamischen array (bestehend aus Pointern auf objekte) den ich zur Laufzeit beliebig oft in der Grösse verändern kann programmieren.
    Wie geht das?

    mfg



  • Hallo

    mit new oder mit std::vector. Zu beiden gibts genug Themen bereits.

    bis bald
    akari



  • Und wie geht es mit new.

    Also ist ja nicht so, dass ich nicht schon einiges probiert habe.

    blabla TKlasse* []
    
    blabla = new 10
    
    blabla[0] = new TKlasse();
    

    Was ist daran falsch?



  • Hallo

    schau dir zum Beispiel das hier an.

    bis bald
    akari



  • Gandalfus schrieb:

    Und wie geht es mit new.

    Also ist ja nicht so, dass ich nicht schon einiges probiert habe.

    blabla TKlasse* []
    
    blabla = new 10
    
    blabla[0] = new TKlasse();
    

    Was ist daran falsch?

    so ziemlich alles ... 😃 😃 also so geht das: 🤡

    Ein dynamisches Array erstellen und ersten Index mit einem Objekt einer Klasse inti.

    CKlasse **ptrArray; /* <- das Array mit Pointern */
    ptrArray = new CKlasse*; /* <- Speicher für EINEN CKlasse-Zeiger reservieren */
    /*ALTERNATIV: ptrArray = new CKlasse*[XXX]; ... also Speicher für XXX CKlasse-Zeiger reservieren */
    ptrArray[0] = new CKlasse; /* <- in diesem reservierten Zeiger die Adresse eines CKlasse-Objekts abspeichern */
    
    // Zugriff auf das Objekt im PtrArray:
    if(ptrArray[0] != NULL) // gültiger Zeiger ?
        ptrArray[0]->MethodeDerKlasseCKlasse(); // oder ähnliches
    

    PS: Hab keine Fehlerüberprüfingen drin! ⚠

    PS: Ich hoffe das du weißt, dass ein Array nichts anderes als ein Zeiger ist... 🤡

    MfG CodeFinder


Anmelden zum Antworten