[surcharge]changer le type de reotour d'une méthode
Bon, voilà.
J'ai une classe de base arbre_abstrait qui contient une méthode racine dont le type est noeud_abstrait.
Code:
1 2 3 4 5 6 7 8
|
class arbre_abstrait
{
public:
//...
noeud_abstrait& racine();
//...
} |
Je voudrai pouvoir changer le type de retour de cette méthode comme suit:
Code:
1 2 3 4 5 6 7 8
|
class arbre_concret
{
public:
//...
noeud_concret& racine();
//...
} |
J'avais pensé utiliser des classes templates pour l'arbre_abstrait, l'arbre concret devenant alors juste un arbre_abstrait<noeud_concret> , mais comme chaque noeud possède une réference vers l'arbre qui le contient, j'arrive à une situation ou je défini un noeud en fonction de son arbre, lequel est défini en fonction de son noeud,lequel est défini en fonction de son arbre, lequel est défini en fonction de son noeud,...
Qqn a une idée?