Bonjour,
voici mon problème:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
class AttributsA{...};
 
class AttributsB : AttributsA{...};
 
class A{
protected :
    AttributsA a;
}
 
class B : A{
};
Avec ces quatre classes, j'aimerais pouvoir faire en sorte que l'attribut a d'un
objet de classe B deviennent de type AttributsB par défaut. Ca serait une sorte de redéfinition de l'attribut (comme on peut redéfinir des méthodes héritées).

Est-ce possible en C++, comment faire ?

Pour vous montrer pourquoi je me pose cette question, voici mon problème
réel : Je tente de modéliser des graphes simples puis je dérive pour avoir des graphes avec labels (à chaque noeud est associé un label).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
class Noeuds{
    int cle;
};
 
class Arcs{
    pair<int,int> cle;
};
 
 
class Graph{
    set<Noeuds> lesNoeuds;
    set<Arcs> lesArcs;
}
 
class NoeudsLabel : public Noeuds{
   Label label;
};
 
class ArcsLabel : public Arcs{
   Label label;
};
 
class GraphsLabel : Graph{
   ...
};
Et là, comme c'est fait, mes Graph avec labels n'en sont pas puisque leurs noeuds sont toujours de classe Noeuds, je voudrais qu'ils deviennent de classe NoeudsLabel !

Help, Merci d'avance