#include <iostream>
#include <iomanip>
using namespace std;
class Time
{
public:
Time( int hr= 0, int min= 0, int sec= 0 )
{ setTime( hr, min, sec ); }
Time &setTime( int h, int m, int s )
{
setHour( h ); setMinute( m ); setSecond( s );
return *this;
}
Time &setHour( int h )
{
hour = ( h >= 0 && h < 24 ) ? h : 0;
return *this;
}
Time &setMinute( int m )
{
minute = ( m >= 0 && m < 60 ) ? m : 0;
return *this; }
Time &setSecond( int s ) //设置秒
{
second = ( s >= 0 && s < 60 ) ? s : 0;
return *this;
}
int getHour() const
{
return hour;
}
int getMinute() const {
return minute;
}
int getSecond() const
{
return second;
}
void DispUniversal() const; //输出国际时间
void DispStandard() const; //输出标准时间
private:
int hour; int minute; int second;
};
void Time::DispUniversal() const // 一种显示格式
{
cout << setfill( '0' ) << setw( 2 ) << hour << ":"
<< setw( 2 ) << minute << ":" << setw( 2 ) << second;
}
void Time::DispStandard() const // 另一种显示格式
{
cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )
<< ":" << setfill( '0' ) << setw( 2 ) << minute<< ":"
<< setw( 2 ) << second << ( hour < 12 ? " AM" : " PM" );
}
void main() {
Time t;
t.setHour( 18 ).setMinute( 30 ).setSecond( 22 );
cout << "Universal time: "; t.DispUniversal();
cout << "/nStandard time: "; t.DispStandard();
cout << "/nNew standard time: ";
t.setTime( 20, 20, 20 ).DispStandard();
}