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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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. :]