c++用类来实现输入输出时间(时:分:秒)
时间: 2024-11-07 22:13:22 浏览: 36
在C++中,你可以创建一个类来表示时间和日期,并提供相应的输入输出功能。这里我们可以创建一个名为`Time`的简单类,它包含三个私有成员变量分别代表小时、分钟和秒。以下是这个类的基本实现:
```cpp
class Time {
private:
int hours;
int minutes;
int seconds;
public:
// 构造函数用于初始化时间
Time(int h = 0, int m = 0, int s = 0) : hours(h), minutes(m), seconds(s) {}
// 获取和设置时间的方法
void setTime(int h, int m, int s) {
if (h >= 0 && h < 24 && m >= 0 && m < 60 && s >= 0 && s < 60) {
hours = h;
minutes = m;
seconds = s;
}
}
// 自动格式化的输出方法,如 "HH:mm:ss"
std::string toString() const {
return std::to_string(hours) + ":" + std::to_string(minutes) + ":" + std::to_string(seconds);
}
// 输入方法,可以使用cin从用户那里获取时间值,假设已经包含头文件<sstream>
void inputFromUser(std::istringstream& in) {
std::string time_str;
in >> time_str;
std::istringstream iss(time_str);
iss >> hours >> minutes >> seconds;
}
};
```
然后,你可以这样使用这个类:
```cpp
int main() {
Time currentTime;
Time userInput;
// 输出当前时间
std::cout << "Current Time: " << currentTime.toString() << std::endl;
// 用户输入并转换为Time对象
std::string userInputStr;
std::getline(std::cin, userInputStr); // 假设已读取了用户输入的一行字符串
currentTime.inputFromUser(userInputStr);
// 设置新的时间或显示用户输入的时间
currentTime.setTime(13, 37, 45);
std::cout << "Set Time: " << currentTime.toString() << std::endl;
return 0;
}
```
阅读全文