Bonjour,
Contexte:
- 5 classes sont en jeux, soit IPrimitive, Rectangle, Triangle, Texte et Coordinates2f
- Rectangle, Triangle et Texte héritent de IPrimitive et doivent redéfinir la méthode get2DCoordinates2f() qui retourne un vecteur (vector<Coordinates2f*>).
Problème:
Je dois répéter à toutes les fois vector<Coordinates2f*>, soit pour la création du vecteur comme tel ou pour la création de mon itérateur.
Ma solution:
J'ai créé une classe Constants qui possède des constructeurs/destructeurs privés et je fais une redéfinition de type (typedef). Voici la classe Constants:
Donc pour me créer une liste qui contient des pointeurs de Coordinates2f. Je fais:
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 #ifndef CONSTANTS_H_ #define CONSTANTS_H_ #include <vector> using namespace std; class Constants{ public: typedef vector<Coordinates2f*> type_listCoord; private: Constants(); virtual ~Constants(); }; #endif /*CONSTANTS_H_*/
Et ça fonctionne!
Code : Sélectionner tout - Visualiser dans une fenêtre à part Constants::type_listCoord *maListe = new Constants::type_listCoord;
![]()
Le tout pour en arrivé à: "Est-ce une bonne façon de faire?"
En passant, je suis Intermédiaire/avancé en Java, et Débutant/avancé en C++. Certaines fois, des choses sont faites en Java, mais ne peuvent être faites en C++.
Merci à l'avance
Partager