c++设计一个时钟类,

c++设计一个时钟类,其中有数据成员时、分、秒,相应的构造函数和时间显示函数等。设置前置加、后置减一元运算符重载来实现求两个钟表对象的差,同时设计输入输出运算符重载,最后... c++设计一个时钟类,其中有数据成员时、分、秒,相应的构造函数和时间显示函数等。设置前置加、后置减一元运算符重载来实现求两个钟表对象的差,同时设计输入输出运算符重载,最后用主函数输出相关信息。 展开
 我来答
double_聪
2013-04-26 · TA获得超过108个赞
知道小有建树答主
回答量:218
采纳率:100%
帮助的人:155万
展开全部
设置前置加、后置减一元运算符重载来实现求两个钟表对象的差

这句话什么意思?要3个函数?++Time,Time--,和Time-Time?
追问
我是照着实验题目打的,反正要用到operator++和operator--设置前置加、后置减一元运算符重载。构造函数、时间显示函数,主函数。
追答

看看你还需要些什么功能

#include <iostream>
using namespace std;
class Time
{
private:
int h,m,s;
public:
Time(int t_h=0,int t_m=0,int t_s=0)
{
h=t_h;
m=t_m;
s=t_s;
}

void ShowTime()
{
cout << this << endl;
}

Time& operator++() //前置++
{
if(s<59) s++;
else
if(m<59)
{
s=0;
m++;
}
else
{
if(h<24)
{
s=m=0;
h++;
}
else
s=m=h=0;
}
return *this;
}

Time& operator--(int) //后置--
{
if(s>1) s--;
else
if(m>1)
{
s=59;
m--;
}
else
{
if(h>1)
{
s=m=59;
h--;
}
else
{
s=m=59;
h=23;
}
}
return *this;
}
friend ostream & operator<<(ostream & os,Time& a)
{
return os<< "Time:"<<a.h<<"-"<<a.m<<"-"<<a.s<<endl;
}

friend istream & operator>>(istream & is,Time &a)
{
return is>>a.h>>a.m>>a.s;
}
};
int main()
{
Time t1(12,2,3),t2,t3;
cin>>t2;
++t1;
t3--;
cout << t1 <<t2<<t3;
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式