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 : 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_*/
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
Constants::type_listCoord *maListe = new Constants::type_listCoord;
Et ça fonctionne!

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