Problème Implémentation de surcharge de l’opérateur +
Salut, je suis debutant et j ai un petit soucis avec cet petit exemple d'implementation de surcharge d'operateur+. le code est le suivant:
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
#ifndef DUREE_H
#define DUREE_H
class Duree {
public:
Duree(int heures , int minutes, int secondes);
int GetSecondes() const;
int GetMinutes() const;
int GetHeures() const;
private:
int m_heures;
int m_minutes;
int m_secondes;
};
Duree operator+(Duree const& a, Duree const& b);
#endif /* DUREE_H */
#include "Duree.h"
using namespace std;
Duree::Duree(int heures , int minutes, int secondes) {
m_heures = heures;
m_minutes = minutes;
m_secondes = secondes;
}
int Duree::GetSecondes() const {
return m_secondes;
}
int Duree::GetMinutes() const {
return m_minutes;
}
int Duree::GetHeures() const {
return m_heures;
}
Duree operator+(Duree const& a, Duree const& b)
{
Duree resultat;
resultat.GetHeures() = a.GetHeures() + b.GetHeures();
resultat.GetMinutes() = a.GetMinutes() + b.GetMinutes();
resultat.GetSecondes() = a.GetSecondes() + b.GetSecondes();
return resultat;
}
#include <iostream>
#include "Duree.h"
using namespace std;
int main() {
Duree duree1(0, 10, 28), duree2(0, 10, 28);
Duree somme = duree1 + duree2;
cout<< "la somme est:"<< somme.GetHeures()<<"h "<< somme.GetMinutes()<< "min "<< somme.GetSecondes()<< "sec"<< endl;
return 0;
} |
Mais le compilateur signale une erreur au niveau du fichier.cpp. Que faire?
Merci d avance pour votre aide