home *** CD-ROM | disk | FTP | other *** search
- // Anfang TIMECLSS.H ------------------------------------
- // (c) 1990 by Thole Groeneveld & toolbox
- // Klassendeklaration und Inlinefunktionen
- //
- #include <iostream.h>
- class Time {
- public:
- enum TimeFlag {
- OK, Overflow, Underflow
- };
- Time ();
- Time (int, int = 0, int = 0);
- Time (const Time&);
- ~Time ();
- void SetTo (int, int = 0, int = 0);
- void SetToSysTime();
- friend Time operator + (const Time&, const Time&);
- friend Time operator - (const Time&, const Time&);
- friend int operator < (const Time&, const Time&);
- friend int operator <= (const Time&, const Time&);
- friend int operator == (const Time&, const Time&);
- friend int operator >= (const Time&, const Time&);
- friend int operator > (const Time&, const Time&);
- friend int operator != (const Time&, const Time&);
- friend ostream& operator << (ostream&, const Time&);
- friend istream& operator >> (istream&, Time&);
- friend int hour (Time&);
- friend int min (Time&);
- friend int sec (Time&);
- static TimeFlag CheckFlag();
- private:
- static int CheckParam (int, int, int);
- long ConvertToSeconds () const;
- static TimeFlag flag;
- int hour;
- int min;
- int sec;
- };
-
- inline Time::Time () {
- hour = min = sec = 0;
- }
-
- inline Time::Time (const Time& t) {
- hour = t.hour;
- min = t.min;
- sec = t.sec;
- }
- inline Time::~Time () {
- /*
- cout << "Das Ende von "
- << *this << endl;
- */
- }
- inline int operator < (const Time& t1, const Time& t2) {
- return t1.ConvertToSeconds() < t2.ConvertToSeconds();
- }
- inline int operator <= (const Time& t1, const Time& t2) {
- return t1.ConvertToSeconds() <= t2.ConvertToSeconds();
- }
- inline int operator == (const Time& t1, const Time& t2) {
- return t1.ConvertToSeconds() == t2.ConvertToSeconds();
- }
- inline int operator >= (const Time& t1, const Time& t2) {
- return t1.ConvertToSeconds() >= t2.ConvertToSeconds();
- }
- inline int operator > (const Time& t1, const Time& t2) {
- return t1.ConvertToSeconds() > t2.ConvertToSeconds();
- }
- inline int operator != (const Time& t1, const Time& t2) {
- return t1.ConvertToSeconds() != t2.ConvertToSeconds();
- }
- inline int hour (Time& t) {
- return t.hour;
- }
- inline int min (Time& t) {
- return t.min;
- }
- inline int sec (Time& t) {
- return t.sec;
- }
- inline long Time::ConvertToSeconds () const {
- return long(hour)*3600 + long(min)*60 + long(sec);
- }
- inline TimeFlag Time::CheckFlag() {
- return flag;
- }
- // Ende TIMECLSS.H -----------------------------------------
-