构造一个初始时间为3点44分的计时器对象,头文件只有iostream
时间: 2024-10-25 21:14:02 浏览: 13
c/c++ 实现程序运行时间精确测量
5星 · 资源好评率100%
为了构造一个初始时间为3点44分的计时器对象,并且只使用`iostream`头文件(即标准输入输出库),你需要创建一个自定义的时间类,比如`Timer`,它有一个表示时间的成员变量,并提供一个设置时间和显示时间的方法。由于没有涉及到复杂的计时功能,这里仅演示基本的构造和展示时间的逻辑。
```cpp
#include <iostream>
#include <chrono> // 使用chrono库处理时间
class Timer {
private:
std::chrono::time_point<std::chrono::hours, std::chrono::minutes, std::chrono::seconds> time;
public:
// 构造函数设置初始时间
Timer(int hour, int minute = 0, int second = 0) {
set_time(hour, minute, second);
}
// 设置时间并返回当前时间以便输出
void set_time(int hour, int minute, int second) {
auto now = std::chrono::system_clock::now();
auto duration = std::chrono::hours(hour) + std::chrono::minutes(minute) + std::chrono::seconds(second);
time = now - duration;
}
// 显示当前时间
void display() const {
using namespace std::chrono_literals;
auto t = time.time_since_epoch();
int hours = t.count() / (60 * 60 * 1000);
int minutes = (t.count() % (60 * 60 * 1000)) / (60 * 1000);
int seconds = (t.count() % (60 * 1000)) / 1000;
std::cout << "当前时间: " << hours << ":"
<< minutes << ":"
<< seconds << " (" << std::put_time(std::localtime(&t), "%H:%M:%S") << ")" << std::endl;
}
};
int main() {
Timer timer(3, 44); // 创建一个3点44分的计时器
timer.display(); // 输出初始时间
return 0;
}
阅读全文