Bonjour
Je débute en C++ et souhaite affecter à une variable de classe abstraite un objet héritant de cette classe.
Par exemple:
J'ai la classe abstraite suivante:
Et le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #ifndef OBSERVER_H #define OBSERVER_H class Observer { public: virtual void paint() = 0; }; #endif
Je souhaite que mon vecteur contienne une suite d'objets héritant de Observer or quand je compile j'ai le message d'erreur suivant
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 #ifndef BALL_H #define BALL_H #include <vector> #include "Observer.h" class Ball { private: std::vector<Observer> listObserver; public: Ball(); void addObserveurs(Observer observer); }; #endifIl y'a t'il un moyen pour que je puisse conserver ma classe abstraite?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cannot declare parameter «observer» to be of abstract type «Observer» IHM/../Model/Observer.h:5: note: because the following virtual functions are pure within «Observer»:
Merci d'avances de vos réponses![]()
Partager