Probleme d'heritage multiple
Bonjour a tous, je suis en train de coder un projet pour la gestion d'un zoo a la fac.
Sans tout vous décrire j'ai une classe personne et deux classe héritées qui sont les agents d'entretien et les soigneur.
A la compilation, le fichier agent ne pose pas de probleme, mais j'ai une erreur sur le fichier soigneur :
.../Soigneur.h|26|erreur: invalid use of incomplete type ‘struct Personne’|
J'ai codé de la même facon mes deux fichiers et je ne comprend rien.
Voici les morceaux de code importants :
Personne.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
|
#ifndef PERSONNE_H
#define PERSONNE_H
#include "Zoo.h"
class Zoo ;
class Soigneur ;
class Personne
{
Zoo* m_Zoo ;
std::string m_Nom;
std::string m_Prenom;
std::string m_Adresse;
int m_Id;
float m_Tarif;
public :
//Constructeur par defaut et sa surcharge.
Personne () ;
Personne (Zoo* Zoo , std::string Nom, std::string Prenom, std::string Adresse, int Id, float Tarif ) ; |
AgentEntretien.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
|
#ifndef AgentEntretien_H
#define AgentEntretien_H
#include "Personne.h"
/**
* class AgentEntretien
*/
class Enclos ;
class AgentEntretien : public Personne
{
int m_TempsEntretient;
Enclos* m_Enclos ;
public:
//Constructeur par defaut et sa surcharge.
AgentEntretien() ;
AgentEntretien ( int TempsEntretient,Enclos* Enclos ) ; |
Et enfin celui qui merde, Soigneur.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
|
#ifndef SOIGNEUR_H
#define SOIGNEUR_H
#include "Personne.h"
/**
* class Soigneur
*/
class Animal ;
class Personne ;
class Soigneur : public Personne
{
int m_TempsSoin;
std::list<Animal*> m_ListeAnimaux ;
public :
//Constructeur par defaut et sa surcharge.
Soigneur() ;
Soigneur(int TempsSoin, std::list<Animal*> Liste_Animaux ) ; |
Je n'ai bien sur pas collé la suite des fichiers. Si manque quelque chose je le rajouterai.
Si vous pouviez me sauver la vie car là je sature un maximum sur cette erreur depuis quelques heures.
Merci d'avance smile