//****************************************************************** // SPECIFICATION FILE (timetyp1.h) // // (This is for the first version of the TimeType class in Chap. 11) // // This file gives the specification // of a TimeType abstract data type //****************************************************************** class TimeType { public: void Set( /* in */ int hours, /* in */ int minutes, /* in */ int seconds ); // Precondition: // 0 <= hours <= 23 && 0 <= minutes <= 59 // && 0 <= seconds <= 59 // Postcondition: // Time is set according to the incoming parameters // NOTE: // This function MUST be called prior to // any of the other member functions void Increment(); // Precondition: // The Set function has been invoked at least once // Postcondition: // Time has been advanced by one second, with // 23:59:59 wrapping around to 0:0:0 void Write() const; // Precondition: // The Set function has been invoked at least once // Postcondition: // Time has been output in the form HH:MM:SS bool Equal( /* in */ TimeType otherTime ) const; // Precondition: // The Set function has been invoked at least once // for both this time and otherTime // Postcondition: // Function value == true, if this time equals otherTime // == false, otherwise bool LessThan( /* in */ TimeType otherTime ) const; // Precondition: // The Set function has been invoked at least once // for both this time and otherTime // && This time and otherTime represent times in the // same day // Postcondition: // Function value == true, if this time is earlier // in the day than otherTime // == false, otherwise private: int hrs; int mins; int secs; };