c++定义一个time类,重载运算符
时间: 2023-11-27 08:00:44 浏览: 80
下面是一个简单的示例代码:
```c++
#include <iostream>
class Time {
public:
Time(int h, int m, int s) : hour(h), minute(m), second(s) {}
int getHour() const { return hour; }
int getMinute() const { return minute; }
int getSecond() const { return second; }
Time operator+(const Time& other) const {
int h = hour + other.hour;
int m = minute + other.minute;
int s = second + other.second;
if (s >= 60) {
m += s / 60;
s %= 60;
}
if (m >= 60) {
h += m / 60;
m %= 60;
}
return Time(h, m, s);
}
friend std::ostream& operator<<(std::ostream& os, const Time& t) {
os << t.hour << ":" << t.minute << ":" << t.second;
return os;
}
private:
int hour;
int minute;
int second;
};
int main() {
Time t1(10, 20, 30);
Time t2(1, 40, 50);
Time t3 = t1 + t2;
std::cout << t1 << " + " << t2 << " = " << t3 << std::endl;
return 0;
}
```
在上面的代码中,我们定义了一个 `Time` 类,它包含了小时、分钟和秒三个成员变量。我们重载了 `+` 运算符,让它能够实现两个 `Time` 对象的相加操作。同时,我们还重载了 `<<` 运算符,让它能够输出一个 `Time` 对象的值。在 `main` 函数中,我们创建了两个 `Time` 对象 `t1` 和 `t2`,然后将它们相加得到了一个新的 `Time` 对象 `t3`,最后输出了 `t1 + t2 = t3` 的结果。
阅读全文