Bonjour à tous, et désolé pour le titre pas très clair.
Alors je cherche à implémenter un système d'affectation pour une classe comparable à celui d'un map (map[var_type1]=var_type2).
Le but final est de créer une classe avec un map comme attribut et reproduisant certains des comportements du map de la manière suivante :
qui s'utiliserait comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class Nom_Classe { private : std::map<class1*, class2*> _map; public : Nom_Classe() {}; virtual ~Nom_Classe() {}; /* Fonctions me permettant d'ajouter des éléments dans le map avec la même syntaxe que si on l'utilisait directement */ }
L'idéal serait de passer les 2 variables par référence, bien qu'ils soient stockés sous forme de pointeurs dans le map, histoire de simplifier l'utilisation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Nom_Classe c; class1 objet_a(args_de_construction); class2 objet_b(args_de_construction); c[objet_a]=objet_b;
D'après ce que j'en ai vu en essayant de comprendre le code dans la STL, ça passe par une surcharge des operator[] et operator= de Nom_classe mais j'au eu beau essayer toutes sortes de combinaisons, tout ce que j'ai fini par récolter dans le meilleur des cas c'est un code qui compilait mais qui plantait à l'exécution.
Merci d'avance pour votre aide.
Partager