c++设计一个时钟类,
c++设计一个时钟类,其中有数据成员时、分、秒,相应的构造函数和时间显示函数等。设置前置加、后置减一元运算符重载来实现求两个钟表对象的差,同时设计输入输出运算符重载,最后...
c++设计一个时钟类,其中有数据成员时、分、秒,相应的构造函数和时间显示函数等。设置前置加、后置减一元运算符重载来实现求两个钟表对象的差,同时设计输入输出运算符重载,最后用主函数输出相关信息。
展开
1个回答
展开全部
设置前置加、后置减一元运算符重载来实现求两个钟表对象的差
这句话什么意思?要3个函数?++Time,Time--,和Time-Time?
这句话什么意思?要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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询