// date.cc #include "date.h" #include Date::Date(Date::Jour j, unsigned short int m, Date::Annee a) : le_jour(j), le_mois((Mois)m), l_annee(a) {}; Date::Date(Date::Jour j, Date::Mois m, Date::Annee a) : le_jour(j), le_mois(m), l_annee(a) {}; bool Date::bissextile() { if (l_annee % 400 == 0) return true; else if (l_annee % 100 == 0) return false; else return (l_annee % 4 == 0); }; Date::Jour Date::dernier_jour_mois() { if (le_mois == Fev) return bissextile() ? 29 : 28; else if (le_mois == Avr || le_mois == Jun || le_mois == Sep || le_mois == Nov) return 30; else return 31; }; void Date::lendemain() { if (le_jour == dernier_jour_mois()) { le_jour = 1; if (le_mois == Dec) { le_mois = Jan; l_annee += 1; } else le_mois = (Mois)((int)le_mois + 1); } else le_jour += 1; }; void Date::affiche() { cout << le_jour << '/' << (int)le_mois << '/' << l_annee; }; bool Date::operator<(Date d) { if (l_annee < d.l_annee) return true; else if (l_annee > d.l_annee) return false; else if (le_mois < d.le_mois) return true; else if (le_mois > d.le_mois) return false; else return le_jour < d.le_jour; };