GUI classe
4 participants
Page 1 sur 1
GUI classe
j'ai un problème avec les conteneurs et l'héritage en C++ ...
C'est assez simple, j'ai 3 classes:
- GUIObject
- GUIObjectContainer qui hérite de GUIObject
- GUI qui hérite de GUIObjectContainer
Chacune de ces classes a une méthode membre void draw()
Je souhaite donc créer une liste STL qui contient des objets de chacune de ces classes, et appeler la méthode void draw() propre à chaque classe, avec ce simple code:
Code :
list<GUIObject> l1;
GUI obj1;
GUIObjectContainer obj2;
l1.push_front(obj1);
l1.push_front(obj2);
list<GUIObject>::iterator i = l1.begin();
while (i != l1.end())
{
(*i).draw();
i++;
}
Mais voila, la liste n'appelle la méthode void draw() seulement du type avec lequel elle a été initialisée !!
J'ai essayé, les méthodes virtuelles et les classes abstraites un peu dans tous les sens mais sans succès
En java une interface aurait tout résolu, mais en c++
Si vous pouviez m'éclairer
merci beaucoup
C'est assez simple, j'ai 3 classes:
- GUIObject
- GUIObjectContainer qui hérite de GUIObject
- GUI qui hérite de GUIObjectContainer
Chacune de ces classes a une méthode membre void draw()
Je souhaite donc créer une liste STL qui contient des objets de chacune de ces classes, et appeler la méthode void draw() propre à chaque classe, avec ce simple code:
Code :
list<GUIObject> l1;
GUI obj1;
GUIObjectContainer obj2;
l1.push_front(obj1);
l1.push_front(obj2);
list<GUIObject>::iterator i = l1.begin();
while (i != l1.end())
{
(*i).draw();
i++;
}
Mais voila, la liste n'appelle la méthode void draw() seulement du type avec lequel elle a été initialisée !!
J'ai essayé, les méthodes virtuelles et les classes abstraites un peu dans tous les sens mais sans succès
En java une interface aurait tout résolu, mais en c++
Si vous pouviez m'éclairer
merci beaucoup
bitequienflenamassepasfou- Messages : 1
Date d'inscription : 07/11/2007
Re: GUI classe
arrete de poster de la merde on s'en fout de ton truc
de rien aussi
de rien aussi
JC- Messages : 38
Date d'inscription : 07/11/2007
Re: GUI classe
Sinon serieusement, je me fais chier alors j'ai jete un coup d'oeil pour de vrai lol
Ca me parait normal qu'il utilise la methode draw correspondant a la classe initialisé <GUIObject>.
Tu as essayé d'initialisé une liste d'un type plus generik 'L', et dans ta boucle tu initialise a chak fois selon le type et tu le fou dans ta liste 'L'.
C'est ptet bourrin et gogol mais je me fais chier alors je propose, je suis une force de proposition.
sinon je comprends pas ton pseudo jo
Ca me parait normal qu'il utilise la methode draw correspondant a la classe initialisé <GUIObject>.
Tu as essayé d'initialisé une liste d'un type plus generik 'L', et dans ta boucle tu initialise a chak fois selon le type et tu le fou dans ta liste 'L'.
C'est ptet bourrin et gogol mais je me fais chier alors je propose, je suis une force de proposition.
sinon je comprends pas ton pseudo jo
Jamesou- Messages : 65
Date d'inscription : 07/11/2007
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|