(增强的 Time 类)请提供一个构造函数,它可以用来自 time 函数和 localtime 函数的当前时间初始化 Time 类的对象。这两个函数在C++标准库头文件<ctime>中声明。
时间: 2024-10-28 07:08:34 浏览: 13
在C++中,你可以创建一个名为`Time`的类,用于表示时间,并添加一个构造函数来接受从`time()`和`localtime()`函数获取的时间戳。这里是一个简单的例子:
```cpp
#include <ctime>
#include <chrono>
class Time {
public:
// 构造函数,接收时间戳并转换为可读的形式
explicit Time(time_t raw_time) : timestamp_(raw_time) {
struct tm local_time;
localtime_s(&local_time, ×tamp_);
hours_ = local_time.tm_hour;
minutes_ = local_time.tm_min;
seconds_ = local_time.tm_sec;
// ... 添加其他需要的字段处理,如月份、年份等
}
private:
// 时间戳变量
time_t timestamp_;
// 分别存储小时、分钟和秒
int hours_, minutes_, seconds_; // 可以添加更多的成员变量和相应的getter/setter
// 如果需要显示详细的时间,可以添加如下方法
std::string formattedTime() {
return std::to_string(hours_) + ":" + std::to_string(minutes_) + ":" + std::to_string(seconds_);
}
};
// 使用构造函数创建Time对象
int main() {
time_t currentTime = time(0); // 获取当前时间
Time t(currentTime);
std::cout << "Current time: " << t.formattedTime() << "\n";
return 0;
}
```
阅读全文