ctor Frage



  • Ich habe eine Klasse die hat einen Standardkonstruktor und einen Selbstdefinierten.

    Es handelt sich um eine Liste. Wenn ich nun das erste Element im Konstruktor übergeben oder per Methode anfüge bleibt der Inhalt der gleiche. Deshalb dachte ich, dass ich einfach innerhalb der Anfügenmethode den Konstruktor aufrufe, anstatt den selben Code zu kopieren und in der Methode wieder zu verwenden.

    Bsp.:

    Liste(Element);

    ist inhaltlich das gleiche wie

    Liste();
    Liste.FuegeHinzu(Element).

    Ausschnitt aus FuegeHinzu:

    if(first == 0)
          List(element);
    

    Es wird aber nicht der Konstruktor aufgerufen den ich haben wollte, sondern der Standardkonstruktor (hab einfach mal Text ausgeben lassen).
    Woran liegt das?



  • Morgen,

    das liegt daran, dass du hier nichts weiter machst, als ein neues temporaeres
    Objekt zu erzeugen. Der CTor kann nur _einmal_ aufgerufen werden. Schmeiss
    deinen Code, zum Einfuegen des ersten Elementes, aus dem CTor raus und benutze
    statt dessen deine 'FuegeHinzu'-Elementfunktion, schliesslich hast du die ja
    nicht umsonst geschrieben.

    mfg
    v R


Anmelden zum Antworten