Bonjour,
voici mon problème:
Avec ces quatre classes, j'aimerais pouvoir faire en sorte que l'attribut a d'un
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{ };
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).
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 !
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{ ... };
Help, Merci d'avance
Partager