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 :

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 */
}
qui s'utiliserait comme ça :

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;
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.
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.