Bonjour a tous,

Voici mon code :

RacineFonctions.hxx
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
 
#include "Intervalle.hxx"
 
#ifndef RACINEFONCTIONS
#define RACINEFONCTIONS
 
using namespace std;
 
class RacineFonctions
{
	public:
	virtual double Evalue (int, double) const /*=0*/;
	virtual Intervalle Evalue (int, const Intervalle&) const /*=0*/;
};
#endif
RacineFonctions.cxx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
#include "RacineFonctions.hxx"
 
double RacineFonctions::Evalue (int a, double b) const 
{
	//return 0.;
}
 
Intervalle RacineFonctions::Evalue (int a, const Intervalle &I) const 
{
	//return I;
}
Polynome.cxx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
/*du code ici*/
double Polynome::Evalue (int level, double x)
{
	RacineFonctions::Evalue(level, x);
	Polynome P;
        //suite du code
//[...]
Polynome.hxx
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
 
#include "RacineFonctions.hxx"
#include <string>
 
using namespace std;
 
#ifndef POLYNOME
#define POLYNOME
 
class Polynome : public RacineFonctions
{
	private:
	int Degre;
	double* Coefficients;
 
	public:
	Polynome(int=0, double* = NULL);
	Polynome(const Polynome&);
	~Polynome(void);
	double Evalue(int, double);
	Intervalle Evalue(int, const Intervalle&);
	void AffichePolynome(void) const;
 
	Polynome& operator = (const Polynome&);
};
#endif
Probleme: Il m'est demande de declarer les fonctions virtuelles de la classe mere "RacinesFonction" en virtuelles pures, en ajoutant un =0. Mais si je fais ca, le compilateur me dit que l'appel au constructeur de Polynome ne peut se faire, car Polynome est abstrait. Donc si je comprends bien ce qu'il essaie de me dire, tous "descendant" d'une classe abstraite est lui-meme abstrait !? J'espere me tromper, mais je n'arrive pas a y remedier...

Merci d'avance.

PS: Desole pour le peu de code devoile, je suis oblige de faire ainsi parce que mes profs utilisent compilatio pour corriger, donc s'il trouve mon code sur le net je suis mal.

Edit: On nous a enseigne tres rapidement a l'ecole les regles de base a respecter sur les classes abstraites, mais comme notre prof a oublie de mettre a disposition ce cours sur le net comme il l'a promis, je ne m'en souviens pas. En particulier faut-il imperativement redefinir la base canonique de la classe abstraite? J'espere que non, sinon j'ai un travail enorme a faire!