classe abstraite et méthode virtuelle
Bonjour,
J'ai fais une classe fille de Vehicule, se nommant Voiture.
Ma classe Vehicule est sensée être abstraite car elle contient une méthode virtuelle pure qui se nomme affiche.
J'ai défini cette même fonction affiche dans ma classe fille Voiture, donc elle n'est pas sensée être virtuelle pure, pourtant à l'exécution, on me dit que j'essaye d'instancier Voiture qui est abstraite.
Mon .cpp:
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 30 31
| #include "tuto.h"
#include <iostream>
Vehicule::Vehicule()
{
}
Vehicule::~Vehicule()
{
}
Voiture::Voiture()
{
}
Voiture::~Voiture()
{
}
int Voiture::affiche() const
{
std::cout << "hohé" << std::endl;
return 0;
}
int main()
{
Voiture caisse;
caisse.affiche();
return 0;
} |
Mon .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
| class Vehicule
{
public:
Vehicule();
virtual ~Vehicule();
virtual int affiche() = 0;
protected:
char couleur;
};
class Voiture : public Vehicule
{
public:
Voiture();
virtual ~Voiture();
virtual int affiche() const;
private:
nbr_roues = 4;
}; |
Je vous remercie d'avance pour votre aide.
Azghar