用C++编写以下代码#include<iostream> using namespace std; class Time{ int hour,minute,second; public: Time(){}; Time(int h,int m,int s) { hour=h;minute=m;second=s; } Time(int h,int m) { hour=h;minute=m;second=0; } Time(int h) { hour=h;minute=0;second=0; } void sethour(int h){hour=h;} void setminute(int m){minute=m;} void setsecond(int s){second=s;} int gethour(){return hour;} int getminute(){return minute;} int getsecond(){return second;} Time operator+(Time); Time operator-(Time); void disp(){ cout<<hour<< ":"<<minute<< ":"<<second<<endl; } }; //重载 operator+ //重载 operator- @-@ int main(){ int h1,m1,s1; cin>>h1>>m1>>s1; Time now(h1,m1,s1); cin>>h1>>m1>>s1; Time start(h1,m1,s1); Time t1=now-start,t2=now+start; cout<<"now:";now.disp(); cout<<"start:";start.disp(); cout<<"-:";t1.disp(); cout<<"+:";t2.disp(); return 0; }
时间: 2024-01-13 16:05:54 浏览: 70
下面是使用 C++ 编写的代码:
```
#include<iostream>
using namespace std;
class Time{
int hour, minute, second;
public:
Time(){};
Time(int h, int m, int s){
hour = h;
minute = m;
second = s;
}
Time(int h, int m){
hour = h;
minute = m;
second = 0;
}
Time(int h){
hour = h;
minute = 0;
second = 0;
}
void sethour(int h){hour = h;}
void setminute(int m){minute = m;}
void setsecond(int s){second = s;}
int gethour(){return hour;}
int getminute(){return minute;}
int getsecond(){return second;}
Time operator+(Time t){
int h = hour + t.hour;
int m = minute + t.minute;
int s = second + t.second;
if(s >= 60){
m += s / 60;
s = s % 60;
}
if(m >= 60){
h += m / 60;
m = m % 60;
}
return Time(h, m, s);
}
Time operator-(Time t){
int h = hour - t.hour;
int m = minute - t.minute;
int s = second - t.second;
if(s < 0){
m -= 1;
s += 60;
}
if(m < 0){
h -= 1;
m += 60;
}
return Time(h, m, s);
}
void disp(){
cout << hour << ":" << minute << ":" << second << endl;
}
};
int main(){
int h1, m1, s1;
cin >> h1 >> m1 >> s1;
Time now(h1, m1, s1);
cin >> h1 >> m1 >> s1;
Time start(h1, m1, s1);
Time t1 = now - start, t2 = now + start;
cout << "now: "; now.disp();
cout << "start: "; start.disp();
cout << "-: "; t1.disp();
cout << "+: "; t2.disp();
return 0;
}
```
这个程序定义了一个 `Time` 类,它有三个私有成员变量 `hour`、`minute` 和 `second`,以及一些公有的方法,如构造函数、设置和获取成员变量的方法、重载运算符 `+` 和 `-` 等。
在 `main` 函数中,我们首先输入两个时间,然后分别用它们创建 `now` 和 `start` 两个 `Time` 对象。接下来,我们分别使用 `now-start` 和 `now+start` 这两个 `Time` 对象相减和相加,分别赋值给 `t1` 和 `t2`,然后输出这四个 `Time` 对象的值。
在 `Time` 类中,重载运算符 `+` 和 `-` 都使用了成员函数形式来实现。在 `+` 函数中,我们首先计算出两个时间的小时、分钟和秒数的和,然后根据进位来调整这些值,最后用这些值创建一个新的 `Time` 对象并返回。在 `-` 函数中,我们也是先计算出两个时间的小时、分钟和秒数的差,然后根据借位来调整这些值,最后用这些值创建一个新的 `Time` 对象并返回。
阅读全文