#ifndef DATEH #define DATEH #include using namespace std; class date { virtual void print(ostream& ost) const; public: enum month_t { january = 1, february, march, april, may, june, july, august, september, october, november, december }; static const int length[]; //no non-static data members date(int initial_month, int initial_day, int initial_year); virtual ~date() {} virtual date& operator++(); virtual date& operator+=(int count); friend ostream& operator<<(ostream& ost, const date& d) { d.print(ost); return ost; } }; #endif