定义一个Time类用来保存时间(时,分,秒)。通过重载操作符“+”实现两个时间的相加。请使用操作符重载为友元函数方式实现
时间: 2024-02-24 19:56:43 浏览: 40
以下是定义一个Time类并重载"+"操作符的示例代码:
```
#include <iostream>
using namespace std;
class Time {
private:
int hour;
int minute;
int second;
public:
Time(int h = 0, int m = 0, int s = 0) {
hour = h;
minute = m;
second = s;
}
friend Time operator+(const Time& t1, const Time& t2);
void display() {
cout << hour << ":" << minute << ":" << second << endl;
}
};
Time operator+(const Time& t1, const Time& t2) {
int h = t1.hour + t2.hour;
int m = t1.minute + t2.minute;
int s = t1.second + t2.second;
if (s >= 60) {
m += s / 60;
s %= 60;
}
if (m >= 60) {
h += m / 60;
m %= 60;
}
return Time(h, m, s);
}
int main() {
Time t1(1, 20, 30);
Time t2(2, 40, 50);
Time t3 = t1 + t2;
t3.display();
return 0;
}
```
在上面的代码中,我们定义了一个Time类,它有三个成员变量hour,minute和second,表示时、分和秒。我们还定义了一个构造函数和一个display()函数,用于初始化和输出时间。然后我们重载了"+"操作符,通过友元函数的方式实现,用于实现两个时间的相加。在main函数中,我们创建了两个Time对象t1和t2,并将它们相加得到一个新的Time对象t3,然后通过t3.display()函数输出相加后的时间。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)