hallo könnte mir jemand die Zeilen 4 und 5 ( die mit Fragezeichen )kommentieren bzw. erklären
C++:
class X { public: X():val_(0){} // ????????????????? X(int val):val_(val){} //???????????????????? int get(){return val_;} void set(int val){val_=val;} private: int val_; };
Es wird ein leerer Konstruktor definiert. val_(0) bedeutet, dass die Variable val_ mit dem Wert 0 initialisiert wird.
C++:
X(int val):val_(val){}
Konstruktor mit einem Parameter. Die Variable val_ wird mit dem Parameter val initialisiert.
Wenn nach dem Konstruktor eine Initialisierungsliste angeben wird, dann werden beim erzeugen der Instanz der Klasse die Konstruktoren der Elemente in der Initialisierungliste aufgerufen. Wie du siehst, funktioniert das auch bei eingebauten Typen -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)