Bonjour à tous,
Je me retrouve avec un projet où une classe A gère un tas d'objet de classe B utilisant une variable statique V.
La variable statique est déclarée dans B. Les fonctions de traitement associées à V sont dans B.
La classe A utilise les fonction de traitement associées à V.
Tout fonctionne mais le code est maintenant moche à lire.
Mon souci est que je souhaiterai déplacer les fonctions de traitement associées à V qui sont dans B ailleurs que dans B.
J'ai mon idée mais je souhaiterai avoir la votre.
Pour être plus clair, je schématise :
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 class B { public : B(params); ~B(); void fonctionDeTraitement1(params); void fonctionDeTraitement2(params); plein d'autres choses ... static creerV(); static modifieV(); static resetV(); static updateV(); private: plein de variables distinctes ... static var V; }Les fonctions accesCreerV() sont des simples liens de genre B::creerV();
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 class A { public: A(params); ~A(); void fonctionDeTraitement1(params); void fonctionDeTraitement2(params); plein d'autres choses ... accesCreerV(); accesModifieV(); accesResetV(); accesUpdateV(); ... private: plein de variables ... B[150] mesB; }
A n'a pas d'accès direct sur V
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 void A::accesCreerV() { B::creerV(); }
Ce que je souhaiterai c'est d'avoir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class B { public : ... private: ... static var V; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class C { public: static creerV(); static modifieV(); static resetV(); static updateV(); private: ... }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class A { public: ... accesCreerV(); accesModifieV(); accesResetV(); accesUpdateV(); ... private: B[150] mesB; }
Comment relier tout le monde entre eux ?
En vous remerciant par avance !
Partager