1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
struct Duree{
unsigned int h; //NOTA: size_t aurait été sympa ici
unsigned int m; // IDEM
Duree & operator +=(Duree const & other){
h+=other.h;
m+= other.m;
if(m > 60){ //a priori, on n'arrivera jamais au delà de 120... à moins qu'on ait déjà fait une connerie en définissant une des deux durées
++h;
m-=60;
}
}
};
Duree operator = (Duree const & a, Duree const & b){ //oui, je sais, a pourrait être transmis par valeur
duree tmp{a}; // merci au compilateur de nous fournir un constructeur de copie sans qu'on ne lui demande rien
tmp+=b;
return tmp;
} |
Partager