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
Le constructeur et le destructeur de cette classe sont vide. Pour ce qui est des trois autres méthodes, elles ne sont pas importantes.
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() ; };
une classe Environement, qui hérite de la classe Energie :
- environement.h
- 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 #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(); };
J'obtiens cette erreur :
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() { }
Je ne comprend pas pourquoi cela ne fonctionne pas. Pourriez vous m'expliquer s'il vous plait ?Energie.h:10: error: redefinition of 'class Energie'
Energie.h:11: error: previous definition of 'class Energie'
Partager