(1) 按照注释的要求完成所有成员函数的定义;
(2) 在主程序中定义Time类对象,通过对象指针或引用调用上述成员函数以测试其正确性。
#include<iostream>
using namespace std;
class Time //声明Time类
{
public:
Time( int h = 0, int min = 0, int s = 0 ); // 带默认参数的构造函数
// set functions
void setTime(int h,int min,int s); // 设置hour, minute, second
void setHour( ){
int a;
cout << "输入0-24之间的数:" << endl;
cin >> a;
if(a <= 24 && a >= 0){
hour = a;
}
else{
cout << "输入错误" <<endl;
}
} // 设置hour (确保数据在合理范围)
void setMinute( ){
int b;
cout << "输入0-60之间的数:" << endl;
cin >> b;
if(b <= 60 && b >= 0){
minute = b;
}
else{
cout << "输入错误" <<endl;
}
} // 设置minute (确保数据在合理范围)
void setSecond( ){
int c;
cout << "输入0-60之间的数:" << endl;
cin >> c;
if(c <= 60 && c >= 0){
second = c;
}
else{
cout << "输入错误" <<endl;
}
} // 设置second (确保数据在合理范围)
// get functions
int getHour(){return hour;} // 返回 hour
int getMinute(){return minute;} // 返回 minute
int getSecond(){return second;} // 返回 second
void printUniversal(); // 按24小时格式输出时间:23:56:12
void printStandard(); // 按12小时格式输出时间:11:56:12 (PM) 或 9:23:55(AM)
private:
int hour; // 0 - 23 (24小时格式)
int minute; // 0 - 59
int second; // 0 - 59
}; // Timel类定义结束
Time::Time(int h,int min,int s){
hour = h;
minute = min;
second =s;
}
void Time::setTime(int h,int min,int s){
hour = h;
minute = min;
second =s;
}
void Time::printUniversal(){
cout << hour << ":" << minute << ":" << second << endl;
}
void Time::printStandard(){
if(hour > 12){
hour=hour-12;
cout << hour << ":" << minute << ":" << second << "(PM)" << endl;
}
else{
cout << hour << ":" << minute << ":" << second << "(AM)" << endl;
}
}
int main(){
Time time;
Time *p;
p=&time;
/* int tmp=0;
cin >>tmp;
p->setHour(tmp);*/
p->setTime(17,55,45);
p->printStandard();
p->setTime(17,55,45);
p->printUniversal();
p->setHour();
p->setMinute();
p->setSecond();
p->getHour();
p->getMinute();
p->getSecond();
p->printStandard();
p->printUniversal();
return 0;
}