Bonjour,
Débutant en C++ je me trouve face à un problème.
Je dois réaliser un jeu de poker:
tableJoueur représente l'ensemble des Joueurs (type vector<Joueur>)
jeuEnCours représente les Joueurs dispo sur une partie (type vector<Joueur>)
Je cherche un faire une copie d'un vector:
copy(tableJoueur.begin(), tableJoueur.end(),jeuEnCours.begin());
J'obtiens bien une copie des Joeurs mais seuls les champs de type int et string sont copiés! Pour être plus clair si j'ai un joueur dans tableJoueur:
"Nom" "Prenom" "As pique, Roi coeur" "tapis=1000"
Lors de la copie il devient:
"Nom" "Prenom" "-1 pas de couleur, -1 pas de couleur" "tapis=1000"
Ou -1 pas de couleur est initialisé par un constructeur vide d'une main de jeu... La main de jeu n'est pas copiée mais recrée avec le constructeur MainDeJeu(void).
J'ai fait attention à surcharger les méthodes de copies:
MainDeJeu::MainDeJeu(
const MainDeJeu& m){MainDeJeu::carte1 = m.carte1;
MainDeJeu::carte2 = m.carte2;
}
Carte::Carte(
const Carte& c) {Carte::valeur = c.valeur;
Carte::couleur = c.couleur;
}
Joueur::Joueur(
const Joueur& j){Joueur::nom = j.nom;
Joueur::prenom = j.prenom;
Joueur::mainJoueur = j.mainJoueur;
Joueur::jeuPrincipal = j.jeuPrincipal;
Joueur::sommeTapis = j.sommeTapis;
}
Pourriez vous m'aider?
Merci d'avance.