tableau de classe dans une classe

tableau de classe dans une classe - C++ - Programmation

Marsh Posté le 20-08-2018 à 10:19:35    

Bonjour
dans une classe humain (je me met au c++, je connais le c) j ai créé un tableau de classe 'arme'
voici le code :  
 

Code :
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. using namespace std;
  5. string ordre;
  6. string ligne;
  7. class arme {
  8. public:
  9. arme();
  10. afficher_arme();
  11. private:
  12. int force;
  13. };
  14. class humain
  15. {
  16.     public:
  17.         humain(string nom);
  18.      void  afficher_nom();
  19.  
  20.     private:
  21.         int vie;
  22.        std::string m_nom;
  23.           arme *tab_arme[3];
  24.      
  25. };
  26. humain *tab_humain[4];
  27. void humain::afficher_nom()
  28. {cout<<m_nom;
  29. };
  30. humain::humain(string nom)
  31. {
  32. vie=100;
  33. tab_arme[0]=new arme();
  34. m_nom=nom;
  35. };
  36. arme::arme()
  37. {force=100;
  38. }
  39. arme::afficher_arme()
  40. {cout<<"force arme"<<force<<endl;
  41. }
  42. char mot[20],mot2[20]="bonjourno";
  43. /*std::string MonTableau[3] = { 0 };
  44.   */
  45. int main()
  46. {
  47. humain romain("romain" );
  48. tab_humain[1] = new humain("paul" );
  49. tab_humain[1]->afficher_nom();
  50. romain.afficher_nom();
  51. romain.tab_arme[0]->afficher_arme();
  52.  
  53.     return 0;
  54. }


 
le but est d attribuer a ma classe 'humain' un tableau d'objet 'arme'
 
afficher_arme() marche si le tableau de classe est declaré en public
or  je ne comprend pas car je l appelle en partant de la classe humain ?
 
Merci pour votre aide  

Reply

Marsh Posté le 20-08-2018 à 10:19:35   

Reply

Marsh Posté le 21-08-2018 à 10:03:42    

Salut,
 
on veut bien t'aider mais dans l'état le code est illisible, faudrait refaire un minimum d'indentation

Reply

Marsh Posté le 22-08-2018 à 12:03:25    

Tu es dans main, donc en public.
Tu ne peux mentionner en public un membre privé, et arme est un membre privé.
Si tu veux accéder a un membre privé en public, il va falloir que du définisse un getter public du membre dans la classe.
 
A+,


Message édité par gilou le 22-08-2018 à 12:05:37

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

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed