| 12
 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