C++定义时间( CMyTime ),有小时、分钟和秒三个成员变量,重载""(减)、后置"++"和">="运算符,实现函数 show 显示时间,测试 MyTime 。
时间: 2023-07-19 10:33:00 浏览: 95
好的,以下是 C++定义时间的示例代码:
```c++
#include <iostream>
using namespace std;
class CMyTime {
private:
int hour;
int minute;
int second;
public:
CMyTime(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
CMyTime operator-(CMyTime t) {
int h = hour - t.hour;
int m = minute - t.minute;
int s = second - t.second;
if (s < 0) {
s += 60;
m--;
}
if (m < 0) {
m += 60;
h--;
}
return CMyTime(h, m, s);
}
CMyTime operator++(int) {
CMyTime t = *this;
second++;
if (second >= 60) {
second -= 60;
minute++;
}
if (minute >= 60) {
minute -= 60;
hour++;
}
return t;
}
bool operator>=(CMyTime t) {
if (hour > t.hour) {
return true;
} else if (hour == t.hour && minute > t.minute) {
return true;
} else if (hour == t.hour && minute == t.minute && second >= t.second) {
return true;
}
return false;
}
void show() {
cout << hour << ":" << minute << ":" << second << endl;
}
};
int main() {
CMyTime t1(10, 30, 0);
CMyTime t2(9, 20, 30);
CMyTime t3 = t1 - t2;
t3.show();
CMyTime t4 = t1++;
t4.show();
t1.show();
if (t1 >= t2) {
cout << "t1 >= t2" << endl;
} else {
cout << "t1 < t2" << endl;
}
return 0;
}
```
在这个示例中,我们定义了一个类 `CMyTime`,它有三个成员变量 `hour`、`minute` 和 `second` 表示时、分、秒。我们重载了减号运算符 `-`,后置自增运算符 `++` 和大于等于运算符 `>=`,并实现了一个显示时间的函数 `show`。
在 `main` 函数中,我们定义了两个时间 `t1` 和 `t2`,然后用减号运算符 `-` 计算它们的差,用后置自增运算符 `++` 对 `t1` 进行自增,用大于等于运算符 `>=` 判断 `t1` 是否大于等于 `t2`,最后调用 `show` 函数显示时间。
输出结果为:
```
1:9:30
10:30:0
10:30:1
t1 >= t2
```
这个示例演示了如何定义带有时间成员的类,在其中重载几个常用运算符,并实现一个简单的时间显示函数。
阅读全文