Konstruktor



  • Hallo, habe hier ein Buch vor mir liegen.

    //Implementierung des Konstruktors
    Rectangle::Rectangle(int width, int height):
    itsWidth(width),      //Initialisierungen
    itsHeight(height)
    {}                    //leerer Rumpf
    

    ich habe das so noch nie gesehen, ist das standard oder völliger Unsinn?
    sollte man es besser so schreiben?

    Rectangle::Rectangle(int width, int height)
    {
       itsWidth = width;
       itsHeigth = heigth;
    }
    


  • Das nennt sich Initialisierungsliste.

    In manchen spezielleren Fällen musst Du die Liste nehmen (ich weiß nimmer welche das waren , aber das bekommen wir bestimmt gleich erläutert)



  • alexC++ schrieb:

    ich habe das so noch nie gesehen, ist das standard oder völliger Unsinn?

    Standard. Wie Knuddlbaer schon sagte, das ist eine Initialisierungsliste.

    sollte man es besser so schreiben?

    Nein. Eine richtige Initialisierung ist besser als eine Defaultinitialisierung mit anschließender Zuweisung. Bei Membern, die du gar nicht zuweisen kannst (Referenzen, const-Member) geht es gar nicht anders.


Anmelden zum Antworten