ctor ruft anderen ctor derselben Klasse auf... wieso erstellt der n neues Objekt?



  • Hi,

    irgendwie konnte ich keinen kürzeren Titel hinkriegen, sorry. 😞
    Also mein Problem mal in schönstem C++ formuliert:

    ctor(int bla, blup, zahl)
    {
      // irgendwas
    }
    
    ctor(int bla, blup)
    {
    if(/*irgendwas*/)
       ctor(bla, blup, 5);
    }
    

    Ich möchte gerne einfach nur ne Bedingung setzen und bei der soll ein anderer ctor aufgerufen werden oder rekursiv auch der selbe mit anderen Parametern!

    Aber ich habe festgestellt, dass in der Funktion selber und in der Funktion, rekursiv aufgerufen, this nicht gleich ist.
    Also scheint der ne neue Instanz zu erstellen, kann ich das irgendwie umgehen, oder muss ich die Geschichte anders lösen?

    MfG Eisflamme 🙂

    PS: Bei der Klasse handelt es sich um eine Template-Klasse, macht das was?



  • Man kann leider nicht wie in Java einen anderen Konstruktor aus einem Konstruktor aufrufen. Du musst intern normale Methoden verwenden.



  • ok, danke 🙂


Anmelden zum Antworten