Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
785 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Prob en C++] - Passage d'object dans un vecteur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Prob en C++] - Passage d'object dans un vecteur

n°125361
Un4GivN
Posté le 12-04-2002 à 20:07:08  profilanswer
 

void main_loop(void)
{
        AnsiString Nombre_joueurs;
        while((Nombre_joueurs < 2) || (Nombre_joueurs > 4))
        {
                Nombre_joueurs = InputBox("Monopoly Junior", "Veuillez entrer le nombre de joueurs (entre 2 et 4).", "2" );
                Nombre_joueurs.ToInt();
        }
 
        int nbre_player = 0;
        int x_case_joueur = 15;
        int couleur_pion = 1;
        AnsiString InputString;
 
        while(nbre_player < Nombre_joueurs)
        {
                nbre_player++;
                InputString = InputBox("Monopoly Junior", "Veuillez entrez le nom du joueur " + nbre_player, "Joueur " + nbre_player);
                TJoueur *essai = new TJoueur(Form1,0,couleur_pion + 1,31,true,InputString,x_case_joueur + 150,485);
                vect_joueurs[nbre_player - 1].set_nom(InputString);
                x_case_joueur = x_case_joueur + 150;
                couleur_pion++;
 
        }
 
*******************
 
class TJoueur
{
    protected:
 
        int no_case;
        int couleur_pion;
        int argent;
        bool tour_a_jouer;
        AnsiString nom_joueur;
 
        TGroupBox *Groupe; //GroupBox pour entourer les données du joueur
        int MX; //positions où se trouve le coin haut gauche du GroupBox
        int MY;
        TEdit *EditNom; //TEdit pour affiche le nom du joueur
        TLabel *LabelPoints;
        TEdit *EditPoints; //TEdit pour afficher les points du joueur
 
    public:
 
        TJoueur();
        TJoueur(TForm*,int, int, int, bool, AnsiString, int, int);
        ~TJoueur();
         
        int get_case();
        int get_couleur_pion();
        int get_argent();
        bool get_tour_a_jouer();
        AnsiString get_nom_joueur();
 
        void set_case(int);
        void set_couleur_pion(int);
        void set_argent(int);
        void set_tour_a_jouer(bool);
        void set_nom_joueur(AnsiString);
        void enleve_du_total(int);
        void ajoute_au_total(int);
        virtual void Affiche();
        virtual void Efface();
 
};
 
Comment je pourrais faire pour mettre mes "joueurs" dans le vecteur ?? ( Biblio STL demandé ) ... je dois utiliser .push_back() pour ajouter un élément.. etc

mood
Publicité
Posté le 12-04-2002 à 20:07:08  profilanswer
 

n°125415
fabsk
Posté le 12-04-2002 à 23:35:19  profilanswer
 

Deja, il semble que tu utilises des controles de fenetre dans tes objets de type "Joueur", ce qui me semble suspect (je fais jamais ca, mais peut-etre que c'est la maniere de faire Borland, encore que je ne sois pas sur que tu utilises Borland).
 
#include <vector>
 
typedef std::vector<TJoueur> JoueurVect;
 
JoueurVect vect;
vect.push_back(TJoueur(Form, blahblahblah));
 
Faire un vector de "TJoueur" (et pas de "TJoueur*" ) a l'inconvenient d'appeler le constructeur de copie quand tu ajoutes et supprimes des elements. Avec des controles (j'imagine que "TEdit" en est un), ca me parait foireux.
Alors tu peux faire un vector de "TJoueur*". L'inconvenient est que si tu oublies de supprimer les elements de ton vector => memory leak. Il faut que tu le fasses explicitement.
 
JoueurVect vect;
// remplissage ici
 
JoueurVect::iterator it = vect.begin();
// boucle sur tous les elements
while(it!=vect.end())
{
 delete *it;
 ++it;
}
vect.clear();
 
 
Bref a toi de determiner ce que tu veux faire...

n°126002
Un4GivN
Posté le 15-04-2002 à 14:08:15  profilanswer
 

Un gros merci !! :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Prob en C++] - Passage d'object dans un vecteur

 

Sujets relatifs
Fatal error: Call to a member function on a non-object in index.php[HTML+PHP] Passage de variable dans un formulaire[Resolut]
passage en parametre de tableau a deux dimensions en C[C/C++] Passage d'argument sur _beginthread
[PHP] Passage des données d'un formulaire[SQL] - prob avec Count
[Java] Problème avec int et Object vi encore une question de newbie :DPour les pros en database : prob pour ma base sur MySQL
[php/javascript/html]Passage de la valeur d'une liste de selectionProb en [VBscript] ou [javascript] pour les fans de formulaires!
Plus de sujets relatifs à : [Prob en C++] - Passage d'object dans un vecteur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR