bonjour,

je n'arrive pas à modifier la valeur d'un attribut public d'une classe héritée.
Voici le bout de code concerné :

une classe Energie :
- energie.h
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
 
#ifndef ENERGIE_H
#define ENERGIE_H
#include <boost/thread/thread.hpp>
#include <boost/bind.hpp> 
#include <iostream>
#endif
 
using namespace std;
 
class Energie
{
	public:
		int quantiteEnergie;
 
	public:
		Energie();
		bool prendreEnergie(int quantite);
		int getEnergie();
		void setEnergie(int tmp);
		~Energie() ;
};
Le constructeur et le destructeur de cette classe sont vide. Pour ce qui est des trois autres méthodes, elles ne sont pas importantes.

une classe Environement, qui hérite de la classe Energie :
- environement.h
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
 
#ifndef ENVIRONEMENT_H
#define ENVIRONEMENT_H
#include <iostream>
#include <cstdlib>
#include "Energie.h"
#endif
 
using namespace std;
 
class Environement : public Energie
{
	public:
		quantiteEnergie;
 
	public:
		Environement(int energie);
		bool deadOrAlive();
		~Environement();
};
- Environement.cpp
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
 
#include <iostream>
#include <cstdlib>
#include "Energie.h"
#include "Environement.h"
#define MAX_ENVIRONEMENT 1000
 
using namespace std;
 
Environement::Environement(int energie)
{
	Energie::quantiteEnergie = enrgie;
}
 
bool Environement::deadOrAlive()
{
}
 
Environement::~Environement()
{
 
}
J'obtiens cette erreur :
Energie.h:10: error: redefinition of 'class Energie'
Energie.h:11: error: previous definition of 'class Energie'
Je ne comprend pas pourquoi cela ne fonctionne pas. Pourriez vous m'expliquer s'il vous plait ?