Probleme de tableau de pointeurs

Résolu
doditch77 Messages postés 8 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 6 janvier 2008 - 5 janv. 2008 à 16:40
doditch77 Messages postés 8 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 6 janvier 2008 - 5 janv. 2008 à 17:17
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

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

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

   tab[i] =new Oiseau;

C++ (@++)<!--
0
doditch77 Messages postés 8 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 6 janvier 2008
5 janv. 2008 à 16:59
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
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
5 janv. 2008 à 17:05
Démarre le debugger pour voir où ça plante exactement.

C++ (@++)<!--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
doditch77 Messages postés 8 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 6 janvier 2008
5 janv. 2008 à 17:09
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??
0
doditch77 Messages postés 8 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 6 janvier 2008
5 janv. 2008 à 17:17
Ca marche!!
Merci beaucoup
Peut etre à très bientôt pour la suite...
0
Rejoignez-nous