typedef appelé de façon statique
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:
Code:
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_*/ |
Donc pour me créer une liste qui contient des pointeurs de Coordinates2f. Je fais:
Code:
Constants::type_listCoord *maListe = new Constants::type_listCoord;
Et ça fonctionne! :D
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