c++设计一个时间类,有3个私有成员变量Hour、Minute、Second,公有成员set()、update()、show()对应设定、改变和输出时间等功能。主函数中定义对象,完成对类中成员的访问。尝试修改数据成员的访问方式,观察编译结果。
时间: 2024-10-23 10:07:50 浏览: 27
c++访问私有private成员变量的常用方法
在C++中,我们可以设计一个简单的`Time`类来表示小时、分钟和秒,这里是一个基础的实现示例:
```cpp
#include <iostream>
class Time {
public:
// 构造函数,默认值都设为0
Time() : hour(0), minute(0), second(0) {}
// 设置小时
void setHour(int h) {
if (h >= 0 && h <= 23) {
hour = h;
} else {
std::cerr << "Invalid hour value!" << std::endl;
}
}
// 设置分钟
void setMinute(int m) {
if (m >= 0 && m <= 59) {
minute = m;
} else {
std::cerr << "Invalid minute value!" << std::endl;
}
}
// 设置秒
void setSecond(int s) {
if (s >= 0 && s <= 59) {
second = s;
} else {
std::cerr << "Invalid second value!" << std::endl;
}
}
// 更新时间,将当前秒递增1,如果超过60,则溢出到下一分或下一小时
void update() {
++second;
if (second == 60) {
second = 0;
if (minute == 59) {
minute = 0;
if (hour == 23) {
hour = 0;
} else {
++hour;
}
} else {
minute++;
}
}
}
// 输出时间
void show() const {
std::cout << "Current time: " << hour << ":" << minute << ":" << second << std::endl;
}
private:
int hour;
int minute;
int second;
};
int main() {
Time currentTime;
// 修改时间和检查错误
currentTime.setHour(12); // 设定小时
currentTime.setMinute(30); // 设定分钟
currentTime.setSecond(45); // 设定秒
currentTime.show(); // 输出初始时间
currentTime.update(); // 更新一次时间
currentTime.show(); // 再次输出更新后的时间
return 0;
}
阅读全文