#include namespace Date_and_Time { class Ident { protected: int ident; Ident(int); }; class Date : virtual protected Ident { int Year; int Month; int Day; void write(); protected: char descr[12]; Date (int); Date& operator+=(int); bool operator<(const Date&) const; bool operator==(const Date&) const; }; class Time : virtual protected Ident { int Hour; int Min; int Sec; int DayOver; protected: char descr[9]; int over() const { return DayOver; } void reset() { DayOver = 0; } Time(int); Time& operator+=(const int&); bool operator<(const Time&) const; }; class Date_Time : Date, Time // accesso private di default { Date_Time(int); Date_Time& operator+=(const int&); bool operator<(const Date_Time&) const; void write() const; Date_Time* pnext; friend class Manage; }; struct Error { char msg[50]; Error(int); }; }