定义一 个时钟类MyClock,包含3个数据成员(即成员变量: 时,分,秒) ;包含2个方法,一个设置时间的方法setClock(), -个显示时间的方法display0,按照”12:28:45”的格式显示时间。
时间: 2024-09-26 17:09:39 浏览: 50
可以定义一个名为`MyClock`的类,它代表一个简单的模拟时钟,包含了三个私有数据成员 `hour`, `minute`, 和 `second` 来存储小时、分钟和秒数。这个类有两个公有方法:`setClock()` 用于设置时间和 `displayTime()` 用于以 "12:28:45" 的格式显示当前的时间。
```cpp
class MyClock {
private:
int hour;
int minute;
int second;
public:
// 构造函数设置默认时间(例如00:00:00)
MyClock() : hour(0), minute(0), second(0) {}
// 设置时间的方法
void setClock(int h, int m, int s) {
if (h < 0 || h > 23) {
throw std::invalid_argument("Hour should be between 0 and 23");
}
if (m < 0 || m > 59) {
throw std::invalid_argument("Minute should be between 0 and 59");
}
if (s < 0 || s > 59) {
throw std::invalid_argument("Second should be between 0 and 59");
}
hour = h;
minute = m;
second = s;
}
// 显示时间的方法
void displayTime() const {
std::string timeFormat = std::to_string(hour % 12) + ":" +
std::setw(2) << std::setfill('0') << minute + ":" +
std::setw(2) << std::setfill('0') << second;
if (hour == 0) {
timeFormat = "12:" + timeFormat.substr(2); // 如果是 AM,则去掉前导的0
} else if (hour > 12) {
timeFormat = std::to_string(hour - 12) + timeFormat; // 将 PM 转换为 12小时制
}
std::cout << timeFormat << " AM/PM" << std::endl;
}
};
```
阅读全文