bonjour,
je me suis inspiré d'exemples dans la doc boost serialization pour coder en c++.
J'ai donc une classe bus_route
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);
};
J'instancie un objet de cette classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
bus_route* ligne2a = new bus_route;
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
2
3
 
bus_stop bs1(g10, g11);    //g10 et g11 sont des coordonnées
*(ligne2a[0]) = &bs;
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
4
5
 
bus_stop** bus_route :: operator[](int index)
{
    return &stops[index];    //retourne l'@ du pointeur au rang index
}
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.

Je prend toutes les idées.
Merci.