Partage
  • Partager sur Facebook
  • Partager sur Twitter

delarer un tableau

    16 juin 2008 à 15:07:39

    Bonjour,
    Voila, j'ai une classe Membre et une classe listeMembre.
    J'aurais aimé savoir comment déclarer un tableau de Membre dans ListeMembre
    voici comment j'ai fais:
    #ifndef DEF_LISTEMEMBRE
    #define DEF_LISTEMEMBRE
    #include "Membre.h"
    
    class ListeMembre
    {
          private : Membre tabMembre[];
          
          public : ListeMembre(void);
                   void ajoutMembre(Membre m);
                   void supprimer(Membre m);
                   void modifier (Membre m);
                   void afficher(void);
                   static int i;
    };
    #endif
    


    ListeMembre.cpp
    #include <string>
    #include "ListeMembre.h"
    
    ListeMembre::ListeMembre(void)
    {
       Membre tabMembre[]= new Membre[200];
    }
    


    erreur: 5 C:\Documents and Settings\maxime\Mes documents\C++\patro\ListeMembre.cpp no matching function for call to `Membre::Membre()'
    note C:\Documents and Settings\maxime\Mes documents\C++\patro\Membre.h:4 candidates are: Membre::Membre(const Membre&)
    6 C:\Documents and Settings\maxime\Mes documents\C++\patro\ListeMembre.cpp conversion from `Membre*' to non-scalar type `Membre' requested


    Max'
    • Partager sur Facebook
    • Partager sur Twitter
      16 juin 2008 à 15:15:11

      Les vector sont plus faciles d'utilisation que les tableaux "classiques" je te laisse jeter un coup d' œil au tuto de Nanoc pour savoir comment les utiliser
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        16 juin 2008 à 15:19:22

        Je plussoie les std::vector, car tu veux faire exactement ce qu'ils permettent : ajouter/supprimer/modifier.

        Sinon, ce serait Membre*, mais bon...
        • Partager sur Facebook
        • Partager sur Twitter
          16 juin 2008 à 15:26:22

          Ta classe membre n'a pas de constructeur par défaut.
          • Partager sur Facebook
          • Partager sur Twitter
          C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
            16 juin 2008 à 15:31:53

            le probleme c'est qu'il me refuse ma declarative du vecteur... et je ne vois pas comment le contruire

            class ListeMembre
            {
                  private : std::vector<Membre> tabmembre;
                  
                  public : ListeMembre(void);
                           void ajoutMembre(Membre m);
                           void supprimer(Membre m);
                           void modifier (Membre m);
                           void afficher(void);
                           static int i;
            };
            #endif
            
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              16 juin 2008 à 15:37:35

              Citation : lmghs

              Ta classe membre n'a pas de constructeur par défaut.


              +1

              Il faut que tu en ais un sinon ça va pas. ;)

              PS : donne l'erreur.
              • Partager sur Facebook
              • Partager sur Twitter
                16 juin 2008 à 15:40:09

                Merci merci ;) (2X)
                j'ai fais le constructeur par défaut et ma déclarative fonctionne pour le vecteur. Maintenant, je m'attaque au constructeur pour le vecteur:)

                #include <string>
                #include "ListeMembre.h"
                using namespace std;
                
                ListeMembre::ListeMembre()
                { 
                          tabMembre=vector<Membre>(0);               
                }
                ListeMembre::ajoutMembre(Membre m)
                {
                  tabMembre.push_back(m);
                }
                

                ca a l'air de marcher
                • Partager sur Facebook
                • Partager sur Twitter

                delarer un tableau

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown