Initialisation de "static const" dans méthode static ?
Bonjour,
Je développe actuellement un applicatif que je veux configurer à l'aide d'un fichier XML.
En fait j'ai une classe qui ressemble à celle-ci :
Code:
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
| class MaClasse {
private:
static const float MON_FLOAT;
public:
static const int MON_INT;
/**
* Constructeur
*/
MaClasse();
/**
* Destructeur
*/
~MaClasse();
/**
* Initialise les constantes globales des instances de la classe MaClasse.
* @param mon_float un flottant
* @param mon_int un entier
*/
static void initMesClasses(const float mon_float, const int mon_int);
}; |
Mon but est d'initialiser MON_INT et MON_FLOAT à l'aide de la méthode static initMesClasses().
J'ai donc tout naturellement tenté une affectation dans cette méthode. Du style :
Code:
MaClasse::MON_INT = mon_int;
Malheureusement cela ne fonctionne pas. :/ En gros le compilo me dit que je ne peux pas modifier la valeur d'un "const". Cela me parait tout à fait logique, hormis le fait que je n'ai jamais initialisé la constante en question...
Donc ma question est : est-ce possible ? Puis-je initialiser mes constantes depuis une methode static ? Si non, quel moyen me permettrait d'initialiser mon appli au début de son exécution (à partir de mon fichier XML) ?
Merci et bonne journée. :]