1: // Filename: TIME2.CPP 2: // Purpose: Implementation file corresponding to TIME1.H. 3: // This version adds two constructors to the version in TIME1.CPP. 5: #include <iostream> 6: using namespace std; 8: #include "TIME2.H" 11: // Private data members of the Time class: 12: // int hours; 13: // int minutes; 14: // int seconds; 17: //****************************************************************** 18: Time::Time() 19: // Default constructor 20: // Pre: none 21: // Post: Class object is constructed and the time is 00:00:00. 22: // That is, hours, minutes and seconds all have value 0. 23: { 24: hours = 0; 25: minutes = 0; 26: seconds = 0; 27: } 30: //****************************************************************** 31: Time::Time(/* in */ int hoursInitial, 32: /* in */ int minutesInitial, 33: /* in */ int secondsInitial) 34: // Constructor 35: // Pre: 0 <= hoursInitial <= 23 36: // 0 <= minutesInitial <= 59 37: // and 0 <= secondsInitial <= 59 38: // Post: Class object is constructed. 39: // The time is set according to the incoming parameters. 40: { 41: hours = hoursInitial; 42: minutes = minutesInitial; 43: seconds = secondsInitial; 44: } 47: //****************************************************************** 48: void Time::Set(/* in */ int hoursNew, 49: /* in */ int minutesNew, 50: /* in */ int secondsNew) 51: // Pre: 0 <= hoursNew <= 23 52: // 0 <= minutesNew <= 59 53: // 0 <= secondsNew <= 59 54: // Post: Time is set according to the incoming parameters. 55: { 56: hours = hoursNew; 57: minutes = minutesNew; 58: seconds = secondsNew; 59: } 63: //****************************************************************** 64: void Time::Increment() 65: // Pre: none 66: // Post: Time has been advanced by one second, with 67: // 23:59:59 wrapping around to 00:00:00. 68: { 69: seconds++; 70: if (seconds > 59) 71: { 72: seconds = 0; 73: minutes++; 74: if (minutes > 59) 75: { 76: minutes = 0; 77: hours++; 78: if (hours > 23) 79: hours = 0; 80: } 81: } 82: } 85: //****************************************************************** 86: void Time::Display() const 87: // Pre: none 88: // Post: Time has been output in the form HH:MM:SS. 89: { 90: if (hours < 10) 91: cout << '0'; 92: cout << hours << ':'; 93: if (minutes < 10) 94: cout << '0'; 95: cout << minutes << ':'; 96: if (seconds < 10) 97: cout << '0'; 98: cout << seconds; 99: }