Unteschied membervariablen konstruktor und parameterliste?



  • Hallo,

    es gibt doch die möglichkeit im konstruktor membervariablen zu setzen aber auch die möglhckeit über

    MyClass::MyClass(int b):c(b)
    {
    }
    

    Variablen zu setzen. Wo ist der Unterschied?



  • Der Unterschied ist, dass alles, was du im Konstruktor machst keine Initialisierung mehr ist, sondern eine Zuweisung.

    Das hat vor allem dann einen Einfluss auf eigen erstellte Klassen, die ev. keinen Zuweisungoperator unterstützen können/dürfen, aber auch bei const Membern. Probier mal eine const-Member zu Initialisieren. Das kriegst du im Konstruktor nicht hin.


Anmelden zum Antworten