1 // Fig. 9.15: Time.cpp
2 // Time class member-function definitions.
3 #include "Time.h" // include definition of class Time
4
5 // constructor function to initialize private data;
6 // calls member function setTime to set variables;
7 // default values are 0 (see class definition)
8 Time::Time( int hr, int min, int sec )
9 {
10 setTime( hr, min, sec );
11 } // end Time constructor
12
13 // set values of hour, minute and second
14 void Time::setTime( int h, int m, int s )
15 {
16 hour = ( h >= 0 && h < 24 ) ? h : 0; // validate hour
17 minute = ( m >= 0 && m < 60 ) ? m : 0; // validate minute
18 second = ( s >= 0 && s < 60 ) ? s : 0; // validate second
19 } // end function setTime
20
21 // return hour value
22 int Time::getHour()
23 {
24 return hour;
25 } // end function getHour
26
27 // POOR PROGRAMMING PRACTICE:
28 // Returning a reference to a private data member.
29 int &Time::badSetHour( int hh )
30 {
31 hour = ( hh >= 0 && hh < 24 ) ? hh : 0;
32 return hour; // DANGEROUS reference return
33 } // end function badSetHour