Klassenvariablen initialisieren



  • Hallo!

    Ich bin gefragt worden wie man Klassenvariablen initialisiert, besser gesagt welches davon richtig ist, weil beides funktioniert.

    Jetzt ist meine Frage, was ist das eigentlich unter a?

    a)

    Auto::Auto(int tankgroesse, float tankinhalt, float verbrauch):
             m_tankgroesse(tankgroesse),
             m_tankinhalt(tankinhalt),
             m_verbrauch(verbrauch)
             {}
    

    Ich kenne ehrlich gesagt nur Methode:

    b)

    Auto::Auto(int tankgroesse, float tankinhalt, float verbrauch) {
            m_tankgroesse = tankgroesse;
            m_tankinhalt = tankinhalt;
            m_verbrauch = verbrauch;
    


  • Cybertec schrieb:

    Ich bin gefragt worden wie man Klassenvariablen initialisiert, besser gesagt welches davon richtig ist, weil beides funktioniert.

    Initialisieren tust du nur mit der Variante a, b ist eine nachträgliche Zuweisung. Der Begriff hierbei ist "Initialisierungsliste". Und nur mit einer solchen kannst du z.B. Konstanten und Referenzen initialisieren.



  • Ah ja, danke.

    Hab es jetzt nachgelesen, und ist auch klar soweit. 😉


Anmelden zum Antworten