verkette Liste (STL) an Funktion übergeben
-
Hi @all
Ich bin C++ Neuling und wollte zum Beweis meines (halb)Wissens ein einfaches Kartenspiel schreiben.
Ich habe die Klasse CKarte und davon 32 Stück im:
pKartendeck = new CKarte[32];Soweit so gut, alle Karten sind initialisiert.
Nun soll ja jeder Spieler ein paar Karten kriegen. Hierfür wollte ich eine verkette Liste der STL nutzen.
Meine Frage: Wie übergebe ich die Liste ( list <CKarte*> lSpieler01;)
an eine Funktion die die Karten in die Liste einfügt? (zB Mischen....)(Prototyp) Mischen(?????? lSpieler01); ????
Macht das überhaupt Sinn?
mfg Hansi
-
Am besten als Referenz (übrigens dürfte eine Spielkarte klein genug sein, um sie nicht auf dem Heap anlegen zu müssen, also erspar dir das Hantieren mit Zeigern, soweit es geht).
-
Hi,
ganz einfach:void mischen(list<CKarte>& karten) { // http://www.cppreference.com/cppalgorithm/index.html } //... list<CKarte> karten(32); // karten füllen -> http://www.cppreference.com/cpplist/index.html //karten mischen mischen(karten);Aber ich würde dir doch eher raten ein std::vectordafür zu nehmen und vllt eine Klasse "Kartendeck" zu schreiben die eine list von CKarten enthält und zudem Elementfunktion wie nextCard(), mix() etc. bereitstellt ...
-
oh mann wahnsinn wie schnell ihr seid
Dickes dickes LobERST DENKEN, DANN POSTEN.....
Mir ist diese Frage jetzt schon wieder sowas von peinlich

(Ich hatte nur einen Denkfehler im Funktionskopf)
btw denke ich dass eine Klasse Spieler mehr Sinn machen würde...