héritage, modification d'attributs
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:
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:
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:
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 :
Citation:
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 ?