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

  FORUM HardWare.fr
  Programmation
  C++

  Problème accès à une méthode d'un vecteur de classe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème accès à une méthode d'un vecteur de classe

n°1726961
sebdu94
Posté le 30-04-2008 à 16:07:11  profilanswer
 

Bonjour à tous,
Je tiens d'abord à m'excuser si la question est "bête" mais je débute en C++.
 
J'ai créé un vecteur de classe.
 
Voici les classes :

Code :
  1. class Automate
  2. {
  3. private:
  4.     std::vector<Etat> m_tab_etats;
  5.     Alphabet m_alphabet;
  6. public:
  7.     Automate();
  8.     void init_alphabet(int alphabet);
  9.     void ajout_etat(int numero);
  10.     int etat_existant(int numero);
  11.     ~Automate();
  12. };


 

Code :
  1. class Etat
  2. {
  3. private :
  4.     bool m_est_initial;
  5.     bool m_est_final;
  6.     int m_numero;
  7.     Liste_transitions m_liste_transition;
  8. public :
  9.     Etat();
  10.     Etat(int);
  11.     ~Etat();
  12.     int getNum();
  13. };


 
Et je tente d'accéder à la méthode getNum() comme ceci :

Code :
  1. int Automate::etat_existant(int numero)
  2. {
  3.   for(vector<Etat>::iterator i = m_tab_etats.begin(); i != m_tab_etats.end();++i)
  4.   {
  5.     cout << m_tab_etats[i].getNum() << endl;
  6.     system("PAUSE" );
  7.   }
  8. }


 
Pourriez vous m'indiquer ce qui ne vas pas.
 
 
Merci beaucoup d'avance

mood
Publicité
Posté le 30-04-2008 à 16:07:11  profilanswer
 

n°1726969
Joel F
Real men use unique_ptr
Posté le 30-04-2008 à 16:22:37  profilanswer
 

c'ets quoi l'erreur en question :[

n°1726974
gilou
Modérateur
Modzilla
Posté le 30-04-2008 à 16:27:25  profilanswer
 

Soit tu passes par un iterator, et tu accedes par *i

Code :
  1. for(vector<Etat>::iterator i = m_tab_etats.begin(); i != m_tab_etats.end(); ++i)
  2.    {
  3.      cout << (*i).getNum() << endl;
  4.      system("PAUSE" );
  5.    }
 

Soit tu passes par un indexeur, et tu accedes par m_tab_etats[i]

Code :
  1. for(vector<Etat>::size_type i = 0; i != m_tab_etats.size(); ++i)
  2.    {
  3.      cout << m_tab_etats[i].getNum() << endl;
  4.      system("PAUSE" );
  5.    }
 

Mais je ne suis pas sur que ce soit une bonne habitude de melanger les deux styles...
A+,


Message édité par gilou le 30-04-2008 à 16:29:18

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1727058
sebdu94
Posté le 30-04-2008 à 18:55:15  profilanswer
 

;)  Merci pour la réponse.  C'est vrai que le mix des deux ne marche pas vraiment ^^.
 
J'ai une autre question. Je la pose ici où je recréer un topic ?

n°1727062
gilou
Modérateur
Modzilla
Posté le 30-04-2008 à 19:00:51  profilanswer
 

IMHO, ou bien tu crees un autre topic, ou bien tu la poses ici, et tu changes le titre du topic pour refleter la question en cours.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

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

  Problème accès à une méthode d'un vecteur de classe

 

Sujets relatifs
un petit problème pour mon projet de maturité[ORACLE] probleme "if (select) is null then" SYNTAX
Problème de if ?Problème suppression treenode
[HTA] Probleme de credential avec un proxy.[SPIP] gestion accès restreint par groupe
Problème de sessionflvPlayBack problème d'exportation
Problème erreur ifproblème de lecture/écriture sur entrée/sortie en Java
Plus de sujets relatifs à : Problème accès à une méthode d'un vecteur de classe


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