Probleme de tableau de pointeurs [Résolu]

Signaler
Messages postés
8
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
6 janvier 2008
-
Messages postés
8
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
6 janvier 2008
-
Bonjour,
Je travaille sur un projet. J'ai crée un classe Oiseeu et une classe voliere. Cette derniere doit etre munie d'un constructeur par défaut qui prend en paramétre la capacité de la voliere. De plus, la liste des oiseaux présents dans la voliere doit etre stockée sous la forme d'un tableau (alloué dynamiquement) de pointeurs contenant l'adresse des oiseaux de la liste.
Voici le code:

class Voliere
{
private:
int nbOiseau;
int capacite;
Oiseau ** tab;

public:
Voliere(int c=0);
};

J'ai des problemes pour créer mon constructeur. Voici le code:
Voliere :: Voliere(int c)
{
capacite=c;
nbOiseau=0;
int i;
for (i=0;i<capacite;i++)
{ tab=new *Oiseau[c];

}
}
ca ne marche pas, je n'arrive pas à corriger. j'ai besoin d'aide. Merci d'avance.

6 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Oops:
tab = new Oiseau*[c];
for (i=0;i<capacite;i++)
   tab[i] =new Oiseau;

C++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
for (i=0;i<capacite;i++)

   tab[i] =new Oiseau;

C++ (@++)<!--
Messages postés
8
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
6 janvier 2008

Effectivement ça compile cette fois (merci). mais lorsque j'exécute lorsque ça arrive a l'appel du constructeur voliere
ex : Voliere V(4);
une nouvelle fenetre s'ouvre ac le message " Projet.exe a rencontré un probleme et doit fermer"

Qu'est ce que je dois faire pour ça?
Merci
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Démarre le debugger pour voir où ça plante exactement.

C++ (@++)<!--
Messages postés
8
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
6 janvier 2008

Alors j'ai démarrer le debgugger. ca a recompiler le projet. Et ca ne m'indique pas d'erreur. Et lorsque j'éxécute, ça me remet le même message d'erreur. Ca n'a rien changé en fait. Mais c'est bien au niveau du constructeur que ca plante. Ca peut etre a cause du new??
Messages postés
8
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
6 janvier 2008

Ca marche!!
Merci beaucoup
Peut etre à très bientôt pour la suite...