IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

[debutant]Probleme de tableau de pointeurs


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Par défaut [debutant]Probleme de tableau de pointeurs
    Bonjour, j'ai un projet à réaliser en C++. J'ai crée une classe Oiseau, ainsi qu'une classe Poule qui hérite de la classe Oiseau. J'ai ensuite crée une classe Voliere qui peut contenir jusqu'à n oiseaux de tout type.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class Voliere
    {
          private:
                  int nbOiseau;
                  int capacite;
                  Oiseau ** tab; // la liste des oiseaux doit etre stockée sous 
                                       //la forme d'un tableau de pointeurs 
                                       //contenant l'adresse des oiseaux
     
          public:
                 Voliere(int c=0);
                 void insere(Oiseau* adresse); // permet l'insere un oiseau dans
                                                         // la voliere
                 void afficher();
     
          };
    Je rencontre un probleme pour la afficher(), pour afficher la liste des oiseaux présents ds la voliere. Voila ce que j'ai écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void Voliere :: afficher()
    {
         int i;
         for(i=0;i<capacite;i++)
         {
                                tab[i].afficher();
                                }
     }
    ca me revoie:`afficher' is not a type request for member of non-aggregate type before '(' token

    Est-ce-que quelqu'un pourrait m'aider??

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    tab[i] est un pointeur. Appeler '.' ne peut se faire que sur un objet. Il te faut donc accéder à l'objet pointé par le pointeur :
    Cette opération étant très courante, on lui préfère en général le raccourci équivalent :

    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. probleme de tableau debutant
    Par evillgouki dans le forum Débuter
    Réponses: 3
    Dernier message: 14/05/2008, 12h18
  2. [debutant]Probleme de tableau
    Par vorhax dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/04/2007, 15h56
  3. [DEBUTANT] Tableau et pointeur
    Par Nicolascrepe dans le forum C
    Réponses: 9
    Dernier message: 19/03/2007, 14h03
  4. [Debutant]Tableau de pointeur char (char *)
    Par nephhh dans le forum Débuter
    Réponses: 8
    Dernier message: 03/11/2006, 00h48
  5. Réponses: 8
    Dernier message: 14/11/2005, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo