begin process at 2012 05 30 04:35:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Surchage opérateur de copie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Surchage opérateur de copie

jeudi 25 décembre 2008 à 17:53:39 | Surchage opérateur de copie

assoul

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.
vendredi 26 décembre 2008 à 00:44:08 | Re : Surchage opérateur de copie

ed73

Bonsoir,

Tu devrais plutôt surcharger l'opérateur = car MainDeJeu::carte1 = m.carte1; ne fait pas appel au constructeur copie mais à l'opérateur =

const Carte& Carte::operator=(const Carte& c)
{
valeur = c.valeur;
couleur = c.couleur;

return *this;
}

Exemples :

Carte *pcarte = new Carte(carte1); // Constructeur copie

Carte carte2(carte1); // Constructeur copie

Carte carte1, carte2;
carte2 = carte1; // Opérateur =

ed73
dimanche 28 décembre 2008 à 11:05:07 | Re : Surchage opérateur de copie

assoul

Merci beaucoup!
Je teste tout de suite
lundi 29 décembre 2008 à 11:44:37 | Re : Surchage opérateur de copie

exar

Membre Club
Oui, ed73 a raison !  C'est ce que tu dois faire !


Cette discussion est classée dans : couleur, copie, carte, joueur, maindejeu


Répondre à ce message

Sujets en rapport avec ce message

connection ip [ par abel325 ] bonjour a tousje suis actuellement en train de developper un jeu, uniquement en C et pas en C++ ni en C#, et je desirerai l'orienter vers le multijoue creation d'un uno en C/C++....grand besoin d'aide...merci d'avance [ par celine11 ] Au secours!!!Je souhaite créer un uno en langage C mais à chaque creation de nouvelles fonctions, rien ne marche, je commence à saturer. Voici la desc migration vers VC++ 2005 [ par dilabo ] BonjourJ'essaie de me remettre au C++ sur lequel je n'ai pas travaillé depuis quelque temps.Mes anciens programmes ont étés écrit avec l'editeur de pr ERREUR redefinition, different basic types ( tres URGENT) [ par moudugenou ] Bonsoir, Tout le reste marche dans mon programme sauf cette fonction qui me resiste...Quand je compile visual C++ m'indique ceci: error C2371: 'pose pallette de couleur sous visual c++ 6.0 [ par darksoul07 ] Je voudrais créer une palette de couleur comme celle dans paint dans un environnement graphique ! Quelqu'un pourrai m'aider svp je ne vois pas comment Static en couleur [ par camel ] oui je sais ya des sources qui montrent comment mettre des static sous Win32 sans MFC en couleur mais j'ai pas compris !et sous MSDN c'est l'embrouill Texte dans une edit box [ par gus2647 ] Bonjour,J aurais aime savoir comment faut faire pour definir la police, la taille, la couleur et la couleur de fond d'une edit boxMerciGus2647 Pb de copie de fichier/taille de structure [ par wannie ] Salut tt le monde. Quelqu'un pourrai tester mon prog est me dire si ça fonctionne. Moi je comprend pas j'ai une copie d'un caractère dans chaque ligne problème opérateur= [ par papytergnier ] Tout d'abord je me présente vite fait : g un projet de c++ à rendre pr lundi et étant assez newbie je suis légérement dans la merde donc j'espère que couleur de pixel (DX) [ par JediMaster ] comment peut t'on récupérer la couleur d'un pixel et la changer sur une surface directdraw ?ca m'aiderait trop merci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,622 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales