tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
2214
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hury hury ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    169
    Hallo,

    ich habe eine grundsätzliche Frage: zur Laufzeit erstelle ich n Objekte, wobei n auch nur während der Laufzeit berechnet wird. Wie kann man das jetzt handhaben? Muss ich dafür eine Liste mit den Objekten erstellen?
    Hätte jemand evtl ein Codebeispiel?

    gruß
    Alex
     

  2. #2
    Flegmon Flegmon ist offline Mitglied Brokat
    Registriert seit
    Aug 2004
    Beiträge
    351
    Hi,

    das geht ganz einfach. Du kannst das mit "new" machen. Hier ein Beispiel für ein int-Array

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    int* objekte;
    int n = 100; // dein n, das du berechnest
    objekte = new int[n];
    if(!objekte)
    {
      //FEHLER
    }
    ...
     
     
    delete[] objekte;

    Zugriff dann einfach wie bei normalen Arrays auch per

    objekte[0]; objekte[1]; ... objekte[i] (wobei i < n sein muss!)
    Geändert von Flegmon (11.06.08 um 15:06 Uhr)
     

  3. #3
    hury hury ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    169
    Ich hatte es so versucht:
    (das Ganze in einer entsprechenden Schleife, hier rausgenommen zwecks Übersichtlichkeit)

    vector<DeskIcon*> iconVector;
    DeskIcon *iconPointer;

    iconPointer = new DeskIcon(1);
    iconVector.push_back(iconPointer);
    iconPointer = new DeskIcon(1);
    iconVector.push_back(iconPointer);
    iconPointer = new DeskIcon(2);
    iconVector.push_back(iconPointer);
    iconPointer = new DeskIcon(2);
    iconVector.push_back(iconPointer);

    Hiernach befinden sich zwar 4 Pointer in dem Vektor, allerdings haben die alle den Wert "2" als Parameter, wenn ich diesen auslese.
    Was mache ich falsch?

    gruß
    Alex
     

  4. #4
    Avatar von devDevil
    devDevil devDevil ist offline Mitglied Platin
    Registriert seit
    Jun 2005
    Beiträge
    662
    Hmm das ist unschön, was du da machst.

    Code cpp:
    1
    2
    3
    
    std::vector<DeskIcon> icons;
    icons.push_back(DeskIcon(2));
    // ...
    ... sonst muss du dich um das Aufräumen kümmern.

    Und wenn du es ganz von Hand (ohne std::vector o. anderen Containern) machen willst, brauchst du replacemend new, um die richtigen Konstruktorparameter zu übergeben.
     

  5. #5
    hury hury ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    169
    Danke schön!
     

Ähnliche Themen

  1. JSON neue Objekte während der Laufzeit hinzufügen
    Von yeronimo im Forum Javascript & Ajax
    Antworten: 10
    Letzter Beitrag: 20.01.10, 15:24
  2. Komponente zur Laufzeit erstellen
    Von Kiloui im Forum Java
    Antworten: 15
    Letzter Beitrag: 08.03.09, 20:04
  3. Tabelle zur Laufzeit erstellen
    Von predatorez im Forum Delphi, Kylix, Pascal
    Antworten: 1
    Letzter Beitrag: 09.10.08, 08:47
  4. Member zur Laufzeit erstellen
    Von SternchenA im Forum .NET Café
    Antworten: 5
    Letzter Beitrag: 20.07.07, 14:17
  5. Array zur Laufzeit erstellen
    Von MichiStroi im Forum .NET Archiv
    Antworten: 4
    Letzter Beitrag: 21.08.04, 18:37