#ifndef DATE_H #define DATE_H #include <string> /* * egy egyszerű dátum típus * * egy bonyolulthoz lásd: * http://www3.sympatico.ca/date4cpp/index.html * */ class date { public: /* konstruktorok */ date( int y = 2018, int m = 1, int d = 1 ) { set( y, m, d ); } date( std::string s ); /* lekérdezések */ int get_year() const { return year; } int get_month() const { return month; } int get_day() const { return day; } /* módosító műveletek */ void set_year( int y ) { year = y; } void set_month( int m ) { month = m; } void set_day( int d ) { day = d; } void next(); void add( int n ); date& operator++() { next(); return *this; } date operator++( int ) { date tmp = *this; next(); return tmp; } date& operator+=( int n ) { add( n ); return *this; } /* beolvasás - kiírás */ void read( std::istream& is ); void print( std::ostream& os ) const; private: /* segéd-függvények */ void set( int y, int m, int d ) { /* TODO: ellenőrzések */ year = y; month = m; day = d; } /* adattagok */ int year; int month; int day; }; inline bool operator==( const date& lhs, const date& rhs) { return lhs.get_year() == rhs.get_year() && lhs.get_month() == rhs.get_month() && lhs.get_day() == rhs.get_day(); } #endif /* DATE_H */