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:
Mon .h:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Je vous remercie d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; };
Azghar
Partager