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.