C++ énumération
Résolu
gilles81
Messages postés
72
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai crée une énumération enum E_POSITION {Torwart, Abwehr, Mittelfeld, Sturm} et je veux créer une méthode qui me permet d'initialiser E_POSITION, pour cela j'ai crée la méthode suivante:
bool SetPosition(E_POSITION position){
for(E_POSITON p = Torwart;p<=Sturm;p++){
...............
}
comment puis je récupérer les résultats de ma boucle et vérifier que le paramètre qui sera entrer figure bien dans mon énumération.
merci
j'ai crée une énumération enum E_POSITION {Torwart, Abwehr, Mittelfeld, Sturm} et je veux créer une méthode qui me permet d'initialiser E_POSITION, pour cela j'ai crée la méthode suivante:
bool SetPosition(E_POSITION position){
for(E_POSITON p = Torwart;p<=Sturm;p++){
...............
}
comment puis je récupérer les résultats de ma boucle et vérifier que le paramètre qui sera entrer figure bien dans mon énumération.
merci
Configuration: Windows Vista Firefox 3.0.3
9 réponses
-
hum... Es tu sur qu'en C++ il faille préciser "enum" devant le type ???
Sinon, gilles, ton problème est mal posé, comprend pas ce que tu veux.-
- c++ énumération
salut ,
je reformule ma question.Je dispose d'une clase CSpieler ayant les attributs suivants:
char vorname[cMaxStrLength];
char nachname[cMaxStrLength];
char geboren[cMaxStrLength];
unsigned int groesse_cm;
unsigned int gewicht_kg;
unsigned int aktNummer;
char aktVerein[cMaxStrLength];
unsigned int aktVereinSeit_jahr;
E_POSITION aktPosition;
et une énumeration enum E_POSITION {Torwart, Abwehr, Mittelfeld, Sturm};
j'ai initialisé certains de ces attributs dans le constructeur:
CSpieler::CSpieler(char* vor, char* nachname, char* geboren, unsigned int groesse, unsigned int gewicht){
cMaxStrLength=20;
strncpy(vor,vorname,cMaxStrLength);
groesse_cm=groesse;
gewicht_kg =gewicht;
}
et pour d'autres tel que aktPosition je veux utiliser une setméthode:
bool SetPosition(E_POSITION position)
-
-
salut ,
je reformule ma question.Je dispose d'une clase CSpieler ayant les attributs suivants:
char vorname[cMaxStrLength];
char nachname[cMaxStrLength];
char geboren[cMaxStrLength];
unsigned int groesse_cm;
unsigned int gewicht_kg;
unsigned int aktNummer;
char aktVerein[cMaxStrLength];
unsigned int aktVereinSeit_jahr;
E_POSITION aktPosition;
et une énumeration enum E_POSITION {Torwart, Abwehr, Mittelfeld, Sturm};
j'ai initialisé certains de ces attributs dans le constructeur:
CSpieler::CSpieler(char* vor, char* nachname, char* geboren, unsigned int groesse, unsigned int gewicht){
cMaxStrLength=20;
strncpy(vor,vorname,cMaxStrLength);
groesse_cm=groesse;
gewicht_kg =gewicht;
}
et pour d'autres tel que aktPosition je veux utiliser une setméthode:
bool SetPosition(E_POSITION position) -
où est le problème ?
Tu fait aktPosition=position; non ? -
Tu sais que en fait, une enum c'est :
E_POSITION {Torwart=0, Abwehr=1, Mittelfeld=2, Sturm=3}
Donc, si tu passe unn entier inférieur à 0 et supérieur à 3, tu sais qu'il n'est pas bon.
Après, je ne connais pas de méthode directe genre E_POSITION.size() pour tester les bornes. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Quand on appelle une classe dans une autre avec "new" est on obligé comme dans java t'initialiser tous les parmètres du constructeur de la classe? Si je veux par exemple créer une instance de CSpieler dans une autre classe,suis-je obligé de: CSpieler c = new CSpieler("herve",.............)?ou exite t il un constructeur par défaut genre CSpieler c = new CSpieler().
Comment faire si je veux plutôt créer mon object dans une mèthode du genre
bool AddSpieler(char* vorname, char* nachname,
char* geboren, unsigned int groesse, unsigned int gewicht,
unsigned int nummer, char* verein, unsigned int seit,
E_POSITION position)
vu que dans mon constructeur CSpieler je n'ai pas initialisé tous les attributs
merci -
Tu as raison, tu as par défaut un constructeur sans argument, mais il me semble (à vérifier, les règles ne sont pas évidente) qu'il n'est pas mis si tu définis un autre constructeur.
-
CSpieler a(...);
a.setPosition(...);
Je ne comprends pas ce qui te dérange. -
J'espère que tu t'en sortira.
Je suis tout à fait pret à t'aider, mais je ne comprends vraiment pas où est ton souci. Peut être en étant plus concret, avec un morceau de code. -
Bonjour Gilles81,
Pour commencer, je tiens à te dire que je refuse d'aider les végétariens. Bon je pars du principe que tu es amateur de bons filets: présomption d'innocence.
D'abord, ton type, ce n'est pas E_POSITION mais enum E_POSITION.
Ensuite, hélas je ne comprends pas ton problème...