试写出类 CTime 的类声明及其成员函数的实现。要求:在类 CTime 中包含 3 个数据分量,即时、分、秒。在类的成员函数中应包括存(以 set 开头)、取(以 get 开头)各个数据分量和完整时间的操作;按上下午各 12 小时或 24 小时打印时间的函数;有默认值的构造函数(默认值为 0 时 0 分 0 秒)。
时间: 2023-05-28 17:08:06 浏览: 67
```
class CTime {
private:
int hour; // 时
int minute; // 分
int second; // 秒
public:
// 默认构造函数
CTime(int h = 0, int m = 0, int s = 0) {
hour = h;
minute = m;
second = s;
}
// 设置时分秒
void setHour(int h) { hour = h; }
void setMinute(int m) { minute = m; }
void setSecond(int s) { second = s; }
// 获取时分秒
int getHour() const { return hour; }
int getMinute() const { return minute; }
int getSecond() const { return second; }
// 获取完整时间
void getTime(char* time) const {
sprintf(time, "%02d:%02d:%02d", hour, minute, second);
}
// 以24小时制输出时间
void print24() const {
printf("%02d:%02d:%02d\n", hour, minute, second);
}
// 以12小时制输出时间
void print12() const {
if (hour >= 12) {
if (hour > 12) {
printf("%02d:%02d:%02d PM\n", hour - 12, minute, second);
} else {
printf("%02d:%02d:%02d PM\n", hour, minute, second);
}
} else {
printf("%02d:%02d:%02d AM\n", hour, minute, second);
}
}
};
```
阅读全文