Bonsoir � toutes et � tous.
J'ai un soucis que je ne parviens pas � r�soudre.
J'ai une classe, destin�e � �tre d�riv�e qui poss�de un membre de type map et d�clar�e de la fa�on suivante :
Pour le moment j'initialise la map dans le constructeur de la fa�on suivante :
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 class CClasseBase { struct Etat { int nId; int nSigne; }; public: CClasseBase(); virtual ~CClasseBase(); protected: map<int, list<Etat> > m_mapEtats; };
Tout ceci fonctionne parfaitement et j'en arrive au probl�me indiqu� dans l'intitul�.
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
29
30
31
32
33
34
35
36
37
38 CClasseBase::CClasseBase() { { list<Etat> etats; Etat e1; e1.nId=1; e1.nSigne=1; etats.push_back(e1); Etat e2; e2.nId=2; e2.nSigne=1; etats.push_back(e2); this->m_mapEtats[1] = etats; } { list<Etat> etats; Etat e1; e1.nId=3; e1.nSigne=1; etats.push_back(e1); Etat e2; e2.nId=4; e2.nSigne=0; etats.push_back(e2); Etat e3; e3.nId=5; e3.nSigne=0; etats.push_back(e3); this->m_mapEtats[2] = etats; } }
Cette classe est destin�e � �tre d�riv�e. A la construction de chaque classe d�riv�e le constructeur de la classe de base sera donc appel� et au final j'aurai en m�moire autant de map intialis�es que d'instances de classes d�riv�es.
Pour donner des informations suppl�mentaires, je peux dire que les donn�es de la map ne sont pas modifi�es par les classes d�riv�es et que ces derni�res se contentent d'acc�der aux donn�es de la map en utilisant des it�rateurs.
Etant donn� tout �a j'ai pens� d�clarer le membre comme statique mais je ne vois pas comment l'initialiser.
Est ce que quelqu'un(e) � un �l�ment de solution ?
D'avance merci.
Partager