Bonjour,

Je voudrais avoir une classe de base qui oblige ses enfants a definir une const map de string.
Je cherche a initialiser cette map dans les .h des classes derivees dans un style comme:

La classe de base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
// Mere .h
class Mere
{
const std::map<std::string, std::string> maMap;
};
Une derivee
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
// FilleA.h
#include Mere.h
const std::map<std::string, std::string> Mere::maMap = boost::assign::map_list_of
("FilleA", "FilleA");
class FilleA: public Mere
{
};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
// FilleB.h
#include Mere.h
const std::map<std::string, std::string> Mere::maMap = boost::assign::map_list_of
("FilleB", "FilleB");
class FilleB: public Mere
{
};
Est ce qu'il est possible de proceder dans un style comme celui ci ? (juste une init declarative dans les headers des filles)

Merci d'avance