Bonjour,
Je suis en train de mettre en place une architecture parent <> enfants, et ne trouve pas de methode de recherche sans utilisation de dynamic cast.
je m'explique :
Si j'ai un container de type Object, et que je veux retrouver ses enfants de type Poire se nommant "auchocolat" je rempli mon vecteur result en dynamic castant les enfant qui match.
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
19
20
21
22
23
24
25
26
27 class Object { public: Object(void); virtual ~Object(void); virtual const std::string& GetName(void){return m_Name;} template <class T> int Find(std::string Name, std::vector<T*>& result); protected: std::vector<Object *> m_Childs; std::string m_Name; }; class Pomme : public Object { }; class Poire : public Object { };
je ne vois pas trop comment faire d'autre, y a t il une methode ou un design evitant ces dynamic_cast ?
merci d'avance pour vos reponses.
Partager