Konstruktor für Klasse mit Liste als Element?
-
Hallo,
habe gleich noch ne Frage.
Wie muss denn der Konstruktor für folgende Klasse aussehen,
die eine Liste als Element enthält?private:
string name;
int gewicht;
int zahl;
list<Item*> inventar;Ich bekomms einfach nicht hin, dachte an sowas wie
Player::Player ( string n, int mw, int cw ) : name (n), gewicht (g), zahl (z), list<Item*> inventar
aber das funzt einfach nicht, habe schon viel zeit damit verschwendet und für euch ist das bestimmt ein Kinderspiel

Wäre sehr nett wenn ihr mir weiterhelfen könntet.
Grüße
Jens
-
So
Player::Player ( string n, int mw, int cw ) : name (n), gewicht (g), zahl (z), inventar()
oder so
Player::Player ( string n, int mw, int cw ) : name (n), gewicht (g), zahl (z)
Gruß!
-
Ja, wenn du eh nur den Standardkonstruktor von list aufrufen willst, dann brauchst das Inventar überhaupt nicht in die Initialisierungsliste reinzupacken. Der wird nämlich standardmäßig aufgerufen. Würdest du im Player-Konstruktor ein Inventar übergeben, dann wäre das was Anderes. Aber so ist es überflüssig.
-
Sepp34 schrieb:
...
Wie muss denn der Konstruktor für folgende Klasse aussehen,
die eine Liste als Element enthält?...
Das kommt doch ganz darauf an, was er tun soll - soll die Liste anfänglich ...- ...leer sein ? -> nix zu tun
- ...mit einer bestimmten Anzahl neuer Objekte gefüllt werden ? -> Schleife mit new + push_back. (Warum dann nicht besser eine list<Item> ?
- ... übergebenen Zeigern gefüllt werden ? -> Schleife mit push_back()
- ...
So pauschal kann man das nicht beantworten.
Gruß,
Simon2.
-
Hallo,
und vielen Dank.
das Problem hat sich über Nacht schon erledigt
Nochmals ein dickes Lob für diese Forum hier!!!
Danke
Grüße
Jens