Bonjour !
Dans le cadre de mes cours, je n'ai jamais eu l'occasion de voir les fonctionnalités "programmation fonctionnelle" du C++ et je cherche des pistes pour un certain algo. Voici le contexte.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
class foo{
public:
    void a(foo*);    // fonctions 
    int b();
private:
    HashTable<key, foo*> enfants;
}
J'ai donc un arbre de foo, avec un nombre indéterminé de foo à chaque niveau.

Je voudrais une sorte de forEach qui appliquerais a() ou b() à chaque enfant et sous enfant de mon arbre. Une fonction qui ne sert qu'à parcourir l'arbre et appliquer une fonction membre à chaque élément (ou, éventuellement, à chaque élément répondant à un critère).

Par contre, je n'ai aucune idée de comment travailler avec des pointeurs sur fonction, etc.

Quelqu'un a une piste ?

Merci beaucoup d'avance !

EDIT : Je ne peux utiliser que Qt et la STL, puisque c'est dans le cadre d'un cours (je tiens à spécifier que ce n'est pas l'essence du cours du tout (c'est un cours d'OpenGL), c'est un petit ajout personnel, pour satisfaire ma curiosité et donner un plus value à mon apprentissage)