Initialisation complexe d'un membre constant

Initialisation complexe d'un membre constant - C++ - Programmation

Marsh Posté le 12-12-2004 à 22:54:13    

J'ai un objet du genre tres simple :

Code :
  1. struct O
  2. {
  3. O( int& i) : _m( /* dépend de i */ ) {}
  4. private:
  5. const int _m;
  6. }


 
Mon problème est que le calcul de la valeur de _m à partir de i represente 50 à 100 lignes de code. Comment puis je m'y prendre pour conserver la structure de l'objet ?
 
Je pensais faire une fonction membre tel que _m = f(i); f doit elle etre nécessairement statique ?


Message édité par xterminhate le 12-12-2004 à 22:55:19

---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 12-12-2004 à 22:54:13   

Reply

Marsh Posté le 13-12-2004 à 11:04:17    

pourquoi tu écrit pas tout simplement un constructeur de classe ? si c'est du c++

Code :
  1. class O
  2. {
  3. protected:
  4.    int _m;
  5. public:
  6.    O(int& i)
  7.    {
  8.       //tout ton code
  9.       _m = ...;
  10.    }
  11. };


Message édité par spokup le 13-12-2004 à 11:04:34
Reply

Marsh Posté le 13-12-2004 à 12:08:51    

t'as rien compris.
 
t'es sur de toi sur le 'int &' ?
 
sinon tu peux utiliser une fonction libre ou une factory

Reply

Marsh Posté le 13-12-2004 à 18:11:47    

Au sujet de int& : la valeur de i est modifiée apres initialisation du membre constant.
 
J'ai codé une fonction libre. Je vais regarder du coté d'une factory. Il s'agit bien du design pattern du même nom ?


---------------
Cordialement, Xterm-in'Hate...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed