6.10: time3.h // Declaration of the Time class. // Member functions defined in time3.cpp // preprocessor directives that // prevent multiple inclusions of header file #ifndef TIME3_H #define TIME3_H class Time { public: Time( int = 0, int = 0, int = 0 ); // constructor // set functions void setTime( int, int, int ); // set hour, minute, second void setHour( int ); // set hour void setMinute( int ); // set minute void setSecond( int ); // set second // get functions int getHour(); // return hour int getMinute(); // return minute int getSecond(); // return second void printMilitary(); // output military time void printStandard(); // output standard time private: int hour; // 0 - 23 int minute; // 0 - 59 int second; // 0 - 59 }; #endif ig. 6.10: time3.cpp // Member function definitions for Time class. #include "time3.h" #include // Constructor function to initialize private data. // Calls member function setTime to set variables. // Default values are 0 (see class definition). Time::Time( int hr, int min, int sec ) { setTime( hr, min, sec ); } // Set the values of hour, minute, and second. void Time::setTime( int h, int m, int s ) { setHour( h ); setMinute( m ); setSecond( s ); } // Set the hour value void Time::setHour( int h ) { hour = ( h >= 0 && h < 24 ) ? h : 0; } // Set the minute value void Time::setMinute( int m ) { minute = ( m >= 0 && m < 60 ) ? m : 0; } // Set the second value void Time::setSecond( int s ) { second = ( s >= 0 && s < 60 ) ? s : 0; } // Get the hour value int Time::getHour() { return hour; } // Get the minute value int Time::getMinute() { return minute; } // Get the second value int Time::getSecond() { return second; } // Print time is military format void Time::printMilitary() { cout << ( hour < 10 ? "0" : "" ) << hour << ":" << ( minute < 10 ? "0" : "" ) << minute; } // Print time in standard format void Time::printStandard() { cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ) << ":" << ( minute < 10 ? "0" : "" ) << minute << ":" << ( second < 10 ? "0" : "" ) << second << ( hour < 12 ? " AM" : " PM" ); } // Demonstrating the Time class set and get functions #include #include "time3.h" void incrementMinutes( Time &, const int ); int main() { Time t; t.setHour( 17 ); t.setMinute( 34 ); t.setSecond( 25 ); cout << "Result of setting all valid values:\n" << " Hour: " << t.getHour() << " Minute: " << t.getMinute() << " Second: " << t.getSecond(); t.setHour( 234 ); // invalid hour set to 0 t.setMinute( 43 ); t.setSecond( 6373 ); // invalid second set to 0 cout << "\n\nResult of attempting to set invalid hour and" << " second:\n Hour: " << t.getHour() << " Minute: " << t.getMinute() << " Second: " << t.getSecond() << "\n\n"; t.setTime( 11, 58, 0 ); incrementMinutes( t, 3 ); return 0; } void incrementMinutes(Time &tt, const int count) { cout << "Incrementing minute " << count << " times:\nStart time: "; tt.printStandard(); for ( int i = 0; i < count; i++ ) { tt.setMinute( ( tt.getMinute() + 1 ) % 60); if ( tt.getMinute() == 0 ) tt.setHour( ( tt.getHour() + 1 ) % 24); cout << "\nminute + 1: "; tt.printStandard(); } cout << endl; }