Argumente bei Konstruktoren
-
Hallo Leute:
Was haben Argumente in Konstruktoren eig für einen Sinn?Vielen Dank
-
Hallo,
Vielleicht willst du die Membervariablen in deiner Klasse mit Werten initialisieren.
-
zb das man beim aufruf einer klasse bereits variablen initialisieren kann
class Klasse { private: int dings; int bums; protected: Klasse( int d, int b ) { dings = d; bums = b; } }; main Klasse kl( 4, 5 ); //kl.dings == 4 //kl.bums == 5
-
und hier mit Initialisierungsliste
class Klasse { private: int dings; int bums; public: Klasse( int d, int b ) : dings(d), bums(b) {} };
-
neugierig schrieb:
Hallo Leute:
Was haben Argumente in Konstruktoren eig für einen Sinn?Vielen Dank
Man könnte fast fragen: Wenn Konstruktoren keine Argumenten entgegennehmen könnten - was hätten sie dann für einen Sinn ?

Gruß,
Simon2.
-
Danke für die antworten, ja so hab ich mir das eh gedacht, nur in meinem c++-buch is ma vorkommen als ob sie meinen dass das eher optional ist und man alle vars sonst einfach mal mit 0 initalisiert. Wies dann weitergehen soll steht nicht drinnen.
Dh: so lege ich fest welchen Typ die einzelnen Vars einer Klasse haben oder?
-
neugierig schrieb:
...
Dh: so lege ich fest welchen Typ die einzelnen Vars einer Klasse haben oder?Neee, du setzt den Wert der Membervariablen.
Der Typ ist durch die Klassendefinition festgelegt.Gruß,
Simon2.
-
neugierig schrieb:
Dh: so lege ich fest welchen Typ die einzelnen Vars einer Klasse haben oder?
Nein.
-
Typ == int,char,...
meinst du Wert?Man kann die Argumente benutzten um Variablen Werte zuzuweisen, ja.
Und natürlich ist das optional, wenn es für die Klasse sinnvoller ist die
Member mit 0 (oder mit nem anderen Wert den man schon vorher weis) zu initalisieren braucht man ja nicht nochmal extra ein Argument dafür.
-
Hmm aba um den vars Werte zuzuordnen brauch ich ja nicht unbedingt argumente oda?
-
k habs verstanden sry und thx
-
neugierig schrieb:
Hmm aba um den vars Werte zuzuordnen brauch ich ja nicht unbedingt argumente oda?
Um den Membern Werte zuzuweisen, brauchst du keine Ctor-Parameter (das kannst du mit einer Zuweisung oder Initialisierungsliste erledigen). Die Parameter brauchst du, damit das Hauptprogramm dem Ctor sagen kann, welche Werte er zuweisen soll.