Bonjour,

Je dispose de deux classes Base et Derived dont Derived dérive de Base. Voici la définition simplifiée des deux classes :

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
22
23
24
25
26
27
28
 
class Base
{
public:
Base();
~Base();
 
// Plein de méthodes
 
void do();
void do1();
void do2();
 
private:
std::vector<uneStructure*> container;
};
 
class Derived : public Base
{
public:
Derived();
~Derived();
 
void preDo();
 
private:
std::vector<uneStructure*> container;
};
Les méthodes do1 et do2 sont des procédures récursives inclues dans do et dont j'ai besoin dans ma classe dérivée. Cependant, lorsque j'exécute la méthode do depuis la classe dérivée, rien ne se passe. Si je copîe le vecteur container dans un objet Base et que j'exécute do, tout se déroule comme je le souhaite.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Derived* der = new Derived();
der->preDo();
der->do(); // Aucun résultat
 
Base* bas = new Base(der->getContainer());
bas->do(); // Resultat souhaité
Pourriez-vous m'aider svp ?

Merci.