bonjour,
je me suis inspiré d'exemples dans la doc boost serialization pour coder en c++.
J'ai donc une classe bus_route
J'instancie un objet de cette classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class bus_route { private: bus_stop* stops[10]; public: bus_route(){} bus_stop* operator[](int); };
Et j'aimerai instancier des objets de la classe bus_stop pour les stocker dans le tableau de pointeurs correspondant dans l'objet ligne2a en écrivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2bus_route* ligne2a = new bus_route;
J'ai donc surcharger l'opérateur [ ] dans bus_route de cette manière:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 bus_stop bs1(g10, g11); //g10 et g11 sont des coordonnées *(ligne2a[0]) = &bs;
En écrivant *(ligne2a[0]) = &bs; voire (*ligne2a)[0] = &bs; je pensais affecter le contenu de l'adresse pointé et donc le pointeur. A priori, je n'ai pas à surcharger l'opérateur d'affectation puisque je ne retourne pas un type classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 bus_stop** bus_route :: operator[](int index) { return &stops[index]; //retourne l'@ du pointeur au rang index }
Je prend toutes les idées.
Merci.
Partager