Bonjour à tous,
Je suis confronté à un problème pour lequel j'avoue être un peu perdu n'étant pas très à l'aise avec le C++ (malheureusement, les habitudes du C sont souvent mauvaises pour le C++).
Mon problème est le suivant :
J'ai toute une hiérarchie de classes, donc par exemple :
A <- B <- C
C hérite de B qui hérite de A.
J'aimerais pouvoir implémenter un itérateur dans A. J'aimerais néanmoins que cet itérateur puisse être overridé par B ou C tout comme on peut le faire avec une fonction virtuelle.
Je voudrais évidemment que le polymorphisme soit respecté. Donc par exemple :
A var = new B;
en demandant un itérateur à var, nous aurons l'implémentation effectuée dans B.
Mes questions sont donc les suivantes :
- Quelle est la bonne pratique pour l'implémentation des itérateurs ? J'avoue trouver des documentation qui ne donnent jamais une méthode commune, si vous pouviez me fournir une bonne documentation sur le sujet .
- Comment avoir une hiérarchie "virtuelle" sur de tels itérateurs ?
Merci beaucoup.
Partager