c++电子时钟,重载+运算符和-运算符
时间: 2023-06-18 12:08:08 浏览: 201
前++函数的重载-C++ 运算符重载
下面是一个基本的 C++ 电子时钟实现,其中重载了 + 和 - 运算符:
```c++
#include <iostream>
using namespace std;
class Clock {
private:
int hour, minute, second;
public:
Clock(int h = 0, int m = 0, int s = 0) {
hour = h;
minute = m;
second = s;
}
void display() {
cout << hour << ":" << minute << ":" << second << endl;
}
Clock operator+(const Clock& c) const {
int h = hour + c.hour;
int m = minute + c.minute;
int s = second + c.second;
if (s >= 60) {
s -= 60;
m++;
}
if (m >= 60) {
m -= 60;
h++;
}
if (h >= 24) {
h -= 24;
}
return Clock(h, m, s);
}
Clock operator-(const Clock& c) const {
int h = hour - c.hour;
int m = minute - c.minute;
int s = second - c.second;
if (s < 0) {
s += 60;
m--;
}
if (m < 0) {
m += 60;
h--;
}
if (h < 0) {
h += 24;
}
return Clock(h, m, s);
}
};
int main() {
Clock c1(10, 30, 45), c2(12, 50, 15);
cout << "c1 = ";
c1.display();
cout << "c2 = ";
c2.display();
Clock c3 = c1 + c2;
cout << "c3 = ";
c3.display();
Clock c4 = c2 - c1;
cout << "c4 = ";
c4.display();
return 0;
}
```
在上面的代码中,Clock 类具有小时、分钟和秒属性,并且有一个默认构造函数。display() 函数用于显示当前时间。operator+() 和 operator-() 分别重载了 + 和 - 运算符,以使 Clock 对象可以相加和相减。
在主函数中,我们创建了两个 Clock 对象 c1 和 c2,并显示了它们的值。然后我们通过重载的 + 运算符将它们相加,将结果存储在 c3 中,并将其显示出来。接下来,我们通过重载的 - 运算符将 c2 从 c1 中减去,将结果存储在 c4 中,并将其显示出来。
阅读全文