#include "Tempo.hh" Tempo::Tempo() { sec = 0; } Tempo::Tempo(int H, int M, int S) { if (H < 0 || H > 24 || M < 0 || M > 60 || S < 0 || S > 60) // E' una scelta (non bella, vedremo come si puo' migliorare)! sec = 0; else sec = H*3600 + M*60 + S; } Tempo::~Tempo() { // eventuali operazioni in chiusura, in questo caso nessuna. } int Tempo::ore() const { return sec / 3600; } int Tempo::minuti() const { return (sec - ((sec/3600)*3600)) / 60 ; } int Tempo::secondi() const { return sec % 60; } Tempo Tempo::operator+(const Tempo& T) const { Tempo tmp; // 86400 = 3600 * 24 (totale dei secondi in un giorno). tmp.sec = (T.sec + sec) % 86400; return tmp; } bool Tempo::operator==(const Tempo& T) const { return sec == T.sec; } bool Tempo::operator<(const Tempo& T) const { return sec < T.sec; }