定义一个时钟类,设计成员函数用于设置响铃时刻,用成员函数模拟时钟运行,当运行到响铃时刻提示响铃。 要求: 1. 定义时钟类 2. 能显示时间 3. 时钟可以运行 4.指定时间响铃
时间: 2024-05-04 08:22:37 浏览: 71
以下是一个简单的时钟类的定义,实现了以上要求:
```cpp
#include <iostream>
#include <ctime>
using namespace std;
class Clock {
private:
int hour;
int minute;
int second;
int alarm_hour;
int alarm_minute;
public:
// 构造函数,初始化时间和响铃时间为0
Clock() : hour(0), minute(0), second(0), alarm_hour(0), alarm_minute(0) {}
// 设置当前时间
void set_time(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
// 设置响铃时间
void set_alarm(int h, int m) {
alarm_hour = h;
alarm_minute = m;
}
// 显示当前时间
void display_time() {
cout << "Current time: " << hour << ":" << minute << ":" << second << endl;
}
// 运行时钟
void run() {
while (true) {
// 获取当前时间
time_t now = time(0);
tm* ltm = localtime(&now);
// 更新时间
hour = ltm->tm_hour;
minute = ltm->tm_min;
second = ltm->tm_sec;
// 显示当前时间
display_time();
// 判断是否响铃
if (hour == alarm_hour && minute == alarm_minute) {
cout << "Ring ring ring!" << endl;
break;
}
// 等待1秒钟
sleep(1);
}
}
};
```
使用示例:
```cpp
int main() {
Clock c;
c.set_time(10, 30, 0); // 设置当前时间为10:30:00
c.set_alarm(10, 31); // 设置响铃时间为10:31:00
c.run(); // 运行时钟,直到响铃时间到达
return 0;
}
```
阅读全文