Problème avec les include
Bonjour ,
je suis nouveau ici , je ne sais pas si je le poste au bon endroit , mais voila j'ai besoin d'aide .
J'ai une class Systeme qui hérite d'une classe Dessinable , Objet hérite lui même de Dessinable.
Mais quand je compile j'ai le message d'erreur suivant :
: error: 'Objet' was not declared in this scope
Systeme (SupportADessin* sup , std::initializer_list<Objet*> ); //creer un systeme composé de nos objets
Alors voila Systeme.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 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#ifndef PRJ_OBJET_H
#ifndef PRJ_DESSINABLE_H
#ifndef SYSTEME_H
#define SYSTEME_H
#include "Dessinable.h"
#include <vector>
#include "Objet.h"
class Systeme : public Dessinable{
public :
//destructeur
~Systeme() ;
//constructeur
Systeme (SupportADessin* sup , std::initializer_list<Objet*> ); //creer un systeme composé de nos objets
//methodes
virtual void dessine() override ;
private :
std::vector<Objet*> liste ;
};
#endif // SYSTEME_H
#endif //DESSINABLE_H
#endif // PRJ_OBJET_H |
mon Dessinable :
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 32 33 34 35 36 37
|
#ifndef PRJ_SUPPORT_H
#ifndef PRJ_DSSINABLE_H
#define PRJ_DESSINABLE_H
#include "Support.h"
#include <memory>
class Dessinable {
public :
//méthodes
virtual void dessine() = 0 ;
//constructeur
Dessinable (SupportADessin* sup) : support(sup) {} ;
//Dessinable (const Dessinable& obj) { support = obj.support ;};
~Dessinable () ;
protected :
SupportADessin* support ;
};
#endif
#endif |
et Objet.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 24 25 26 27 28
| #ifndef PRJ_DESSINABLE_H
#ifndef PRJ_OBJET_H
#define PRJ_OBJET_H
#include "Vecteur.h"
#include "Integrateur.h"
#include "Boule.h"
#include "Dessinable.h"
class Objet : public Dessinable{
public:
virtual Vecteur get_position() const = 0;
virtual Vecteur distance(Boule const& boule) const =0;
virtual double t_collision(Boule const& boule, double t, double duree, Integrateur integrateur)=0;
virtual void collision(Boule& boule)=0;
/**attention ici j ai modifié **/
virtual void dessine() override = 0;
//constructeur
Objet (SupportADessin* sup ) : Dessinable(sup) {}
// Objet (const Objet& obj) :Dessinable(obj) {} ;
};
#endif // PRJ_OBJET_H
#endif |