Bonjour , j'ai plusieurs questions, imaginons la hiérarchie suivante :
Classe mère: Avion ( abstraite )
Classe Fille: Combat ( abstraite )
Classe 'petite' Fille : F
J'instancie un objet F dans le main et aimerait afficher ses caractéristiques avec une méthode virtuelle implémentée dans la classe Mère.
Avion.h
Avion.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Avion{ // Classe abstraite! protected: //... public: Avion() {} virtual ~Avion() {} virtual void abstract() = 0; virtual void Affichage(Avion &); };
Combat.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void Avion :: Affichage(Avion& a) { // ... }
F.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include "Avion.h" class Combat : public Avion // Classe abstraite! { public: Combat() {}[EDIT] virtual ~Combat() {} virtual void abstract () = 0; virtual void Affichage() {} protected: //... };
F.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include "Combat.h" class F : public Combat{ public: F() {} ~F() {} void abstract() {} void Affichage(F &); private: //... };
Comment procéder ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include "F.h" void F::Affichage(F & avion) { Avion::Affichage(avion); }
J'ai une erreur semblable à ça :Est-ce que d'autres erreurs se cachent derrière en plus?
Code : Sélectionner tout - Visualiser dans une fenêtre à part undefined reference to `vtable for F'
Merci de m'apporter vos lumières une fois de plus![]()
Partager