Bonsoir,

mes classes sont schématisées comme suit :
j'ai défini une méthode virtuelle au niveau de la classe A
Code : Sélectionner tout - Visualiser dans une fenêtre à part
virtual void func() = 0;
Maintenant je voudrais la redéfinir au niveau de B puis au niveau de C.
j'ai essayé plusieurs méthodes sans parvenir à aucun résultat .. :-/

dans B.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
//1er essai
void B::func() { ... }
génère une erreur : la méthode n'a pas été définie dans B.h.
En effet, je n'ai pas besoin de remettre le prototype dans B.h puisque B hérite de A, non?

dans B.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
//2nd essai
void A::func() { ... }
Lorsque je mets le même code dans C.cpp, j'ai une erreur de compilation qui me dit que la méthode func() est définie à deux endroits...

est-ce que vous pouvez m'apporter vos lumières sur ce problème ?

merci de votre aide