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:

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
Et le code 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);
};
 
#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
 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»:
Il y'a t'il un moyen pour que je puisse conserver ma classe abstraite?

Merci d'avances de vos réponses