liaison dynamique polymorphisme
Bonjour
Soit le code suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
class A {
public :
virtual void M1 () { cout << " A::M1"; }
void M2 () { cout << " A::M2"; }
virtual void M3 () { cout << " A::M3"; }
};
class B : public A {
public :
void M1 () { cout << " B::M1"; }
virtual void M2 () { cout << " B::M2"; }
void M3 () { cout << " B::M3"; }
};
class C : public B {
public :
void M1 () { cout << " C::M1"; }
void M2 () { cout << " C::M2"; }
void M3 () { cout << " C::M3"; }
}; |
La classe A a 3 fonctions dont 2 doive etres definis dans une classe fille (M1 et M2)
La classe B, derivee de A, a 3 fonctions, les 2 qui devaient etres redefini et la la troisieme qui pouvait etres redefinit, car n'etant pas virtuelle rien ne l'y obliger a contrario des 2 autres, etant dans la classe B virtuel elle devra donc eres redefinie dans une classe derive.
La classe C derivee de la classe B redefinie les trois methode d'apres sa classe mere et seulement sa classe mere
Est-ce que j'ai dis est correcte ???
par avance merci