polymorphisme : problème de constructeur et destructeur
Bonjour. Ca fait depuis ce matin que je planche sur un problème ... J'ai cherché sur le net des exemples et je ne parviens pas à trouver mon erreur.
Je précise que je programme sur Code::Blocks (sous linux)
J'ai une classe abstraite et j'aimerais pouvoir définir des classes filles qui redéfinissent les méthodes.
Voici mon code :
Fichier test.h
Code:
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 27 28 29
| #ifndef __TEST__
#define __TEST__
typedef unsigned int entier;
class CMere
{
public :
virtual void Methode1()=0;
virtual entier Methode2();
virtual entier Methode3();
virtual ~CMere();
CMere();
};
class CFille : virtual public CMere
{
public :
void Methode1();
entier Methode2();
entier Methode3();
~CFille();
CFille();
private :
entier Var1;
entier Var2;
};
#endif |
Fichier test.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include "test.h"
CMere::CMere()
{}
CMere::~CMere()
{}
CFille::CFille()
{}
CFille::~CFille()
{} |
Mes erreurs
Citation:
In function `CMere':
undefined reference to `vtable for CMere'
undefined reference to `vtable for CMere'
In function `~CMere':
undefined reference to `vtable for CMere'
undefined reference to `vtable for CMere'
undefined reference to `vtable for CMere'
undefined reference to `typeinfo for CMere'
=== Build finished: 6 errors, 0 warnings ===
Si vous pouviez m'expliquer la raison de ces erreurs ...
Merci d'avance.