[deb]Syntax Appel dans une classe de meth. d?une autre
Bonjour,
La suite de mes petit problemes. Je dois implemente une surcharge pour comparaison de deux membre de classe de deux objets differents.
Sa c'est le construc des objets a comparer et la comparaison se fait sur les objets duree inclus.
Citation:
morceau(char* ti, duree du);
Pour cela j'ai dans une de mes classes la methode get_tempsTot() implementee dans ma classe duree. La duree a compare est les min et sec additionee dans la meth concernee et ns, nm sont des membres de la classe duree
Code:
1 2 3 4 5 6 7
|
//retour de duree en secondes du morceau dans classe duree
int duree::get_tempsTot(void){
int tot;
tot = (nm * 60) + ns;
return tot;
} |
Ca c'est ma surcharge qui a besoin des deux durees pour faire la comparaison. Implementee dans ma classe morceau.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
//Surcharge de l'operateur ==
int morceau ::operator ==(const morceau& M){
int tempsThis, tempsM; //Decl int pour comparaison longeur
const duree& dur = M.get_duree(); //Chargement de IC objet
tempsThis = this.get_tempsTot();
tempsM = M.get_tempsTot(); //Init pour comparaison temps
if ( tempsThis == tempsM ){
return 1;
}else{
return 0;
}
}//Fin Surcharge equivalence "==" |
Ici s'est mon message d'erreur, toujours a la pointe du progres j'imaginais il y a encore peu que le #include "duree.h" inclus plus haut dans le code devait palier a cela.
Citation:
Exécution de make...
make.exe -f "C:\Dev-Cpp\Devoir_3\Makefile.win" all
g++.exe -c morceauImpl.cpp -o morceauImpl.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"
morceauImpl.cpp: In member function `int morceau::operator==(const morceau&)':
morceauImpl.cpp:81: error: 'const class morceau' has no member named 'get_tempsTot'
make.exe: *** [morceauImpl.o] Error 1
Exécution terminée
L'idee est que la surcharge soit utilisee ensuite pour faire savoir a l'utilisateur quel est le morceau le plus court ou si leur longeur est egale
Mon probleme est que je ne trouve pas la syntax pour pouvoir appele ma methode dans la classe duree. Non seulement pour l'argument M mais encore plus pour ce qui concerne l'objet appelant du if (A == B).
A serai L'appelant et B l'appele dans ma surcharge
La surcharge est dans mon autre classe morceau.
Si quelqu'un peut m'aiguille
D'avance merci
marc_3