Konstruktor und Datenmember richtig initialisieren
-
Hallo!
Ich besuche gerade einen C++ Kurs und habe eine kleine Newbee Frage. Uns wurde unter anderem die Definition eines Konstruktors wie folgt gezeigt.private: float lower, upper, step; public: bla(float LOWER=-20.0f, float UPPER=100.0f, float STEP=5.0f) : lower(LOWER), upper(UPPER), step(STEP){ ... }Da ich aber schon bissl C programmiert habe, bin ich der Meinung man könnte das doch gleich so
public: bla():lower(-20.0f),upper(100.0f),step(5.0f){ ... }lösen. Das neudefinieren und umlegen der Variablen macht doch keinen Sinn, oder doch??? Wäre für einen kleine kurze Auf-/Erklärung dankbar!
Vielen Dank im Voraus.
spooky
-
Hi,
der Sinn der Sache ist dass du dem Konstruktor Parameter übergeben kannst aber nicht musst.
Sofern keine Parameter angegeben werden greifen die Defaultwerte.Werden Werte angegeben dann werden die Attribute mit diesen initialisiert.
Bei deiner Variante ist das nicht möglich.Gruß Spacelord
-
Na klar!

Danke spacelord.