bonjour,
j'ai un petit souci, je veux créer un vector d'animaux ( Faune.h) qui hérite de la classe vector pour le moment j'ai fait un truc dans ce gout là :
Dans mon main(), ça ca passe :
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
17
18
19
20
21 #ifndef FAUNE #define FAUNE #include "./animal.h" #include <vector> using namespace std; typedef vector<animal*> VecAnim; class Faune:public VecAnim{ public: Faune():VecAnim(){} ~Faune(){this->clear();} void add_animal(animal *a){ push_back(a); } }; #endif
mais pas quand je fais un new :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Faune f; lapin l; lapin * pLap =&l; f.add_animal(pLap); f[0]->try_manger();
la compilation est ok mais j'ai une erreur de segmentation !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 f[0]=new lapin(); f[0]->try_manger();
si quelqu'un peut me renseigner, je viens de commencer l'objet et je maitrise pas trop !
merci d'avance !!!!
porco
Partager