[deb.]Probleme de syntax decl de pl class
Bonjour,
je fais un exo ou je dois declare plusieures classes qui doivent travailler ensemble. Mais quand je veux integrer dans la deuxieme la decl d'un objet de la premiere le compilateur me donne une erreur de redefinition de class.
Est-ce que quelqu'un peut me dire ou est la faute
Ci-joint mes deux classes et le mes. d'erreur
Classe 1
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
|
#include<iostream>
using namespace std;
class duree{
private:
/////////////////////////////
//Decl. Variables de class
//////////////////////////////
int nm;
int ns;
public:
/////////////////////////////
//Decl. Constructeur/Destructeur
//////////////////////////////
//Constructeur par defaut
duree(void);
// IC = (int, int) Constructeur par initialisation
duree(int , int);
//Destructeur
~duree(void);
/////////////////////////////
//Decl. Surcharge des Operateurs
//////////////////////////////
//surcharge de l'operateur >>cin , Saisie pour objet duree
friend istream& operator >> (istream&, duree& D);
//surcharge de l'operateur <<cout, Affichage pour objet duree
friend ostream& operator << (ostream&, const duree& D);
}; // Fin de class duree |
Classe 2
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 38 39 40 41
|
#include<iostream>
using namespace std;
#include "duree.h"
const int maxi = 30; //Nb de char max
class morceau{
private:
/////////////////////////////
//Decl. Variables de class
//////////////////////////////
char* t;
duree d;
public:
/////////////////////////////
//Decl. Constructeur/Destructeur
//////////////////////////////
//Constructeur par defaut
morceau(void);
// IC = (char* ti, duree du) Constructeur par initialisation
morceau(char* ti, duree du);
//Destructeur
~morceau(void);
/////////////////////////////
//Decl. Surcharge des Operateurs
//////////////////////////////
//surcharge de l'operateur >>cin, Saisie pour objet morceau
friend istream& operator >> (istream&, morceau& M);
//surcharge de l'operateur <<cout, Affichage pour objet morceau
friend ostream& operator << (ostream&, morceau& );
}; // Fin de decl de classe morceau |
Et ceci est le message d'erreur
Citation:
Compilateur: Default compiler
Building Makefile: "C:\Dev-Cpp\Devoir_3\Makefile.win"
Exécution de make...
make.exe -f "C:\Dev-Cpp\Devoir_3\Makefile.win" all
g++.exe -c testDev_3.1.cpp -o testDev_3.1.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"
In file included from morceau.h:8,
from testDev_3.1.cpp:11:
duree.h:9: error: redefinition of `class duree'
duree.h:9: error: previous definition of `class duree'
make.exe: *** [testDev_3.1.o] Error 1
Exécution terminée
La classe duree fonctionne bien toute seule.
D'avance merci