was passiert, wenn man den default-ctor überschreibt, aber bestimmte elemente nicht initialisiert?



  • werden die dann mit ihrem default c-tor initialisiert?
    ist das im standard festgelegt?


  • Mod

    Der Default-ctor kann nicht überschrieben werden, denn Überschreibung ist nur bei virtuellen Funktionen möglich und Konstruktoren sind niemals virtuell.
    Die Frage, ob initialisiert wird, wenn man nicht initialisiert, ist nicht sinnvoll.
    Wenn du wissen wolltest, ob nicht-statische Member initialisiert werden, wenn sie nicht explizit in der Initialisierungsliste des Konstruktors aufgeführt werden: das ist genau dann der Fall, wenn der betreffende Member kein POD ist, unbeschadet der Bedingung, dass Referenzen und konstante Member immer explizit initialisiert werden müssen.



  • ja, ist es. Elemente, die in der Initialisierungsliste nicht aufgeführt sind, werden default-initialisiert. - Wenn defaukt-Ctor haben wird der Compiler dir den Code mit entsprechenden Fehlermeldungen um die Ohren werfen 🙂


Anmelden zum Antworten