基于c++的运算符重载(三、时分秒的++和--)

using namespace std;
class MyTime
{
public:
 MyTime(){m_hour = 0; m_minute = 0; m_second = 0;} //无参的构造函数,方便初始化
 MyTime(int h, int m, int s):m_hour(h),m_minute(m),m_second(s){} //带参的构造函数,方便初始化
 void display(){cout << m_hour << ":" << m_minute << ":" << m_second << endl;} //打印函数
public:
 MyTime operator ++(); //++运算符重载
 MyTime operator --(); //--运算符重载
private:
 int m_hour;
 int m_minute;
 int m_second;
};
MyTime MyTime::operator ++() //秒每加到60,分加1,分每加到60,时加1
{
 if(m_second < 59)
  m_second ++;
 else if(m_minute < 59)
 {
  m_second = 0;
  m_minute++;
 }
 else
 {
  m_second = 0;
  m_minute = 0;
  m_hour++;
 }
 MyTime result = *this;   //this是当前类中对象的指针
 return result;           //返回MyTime类的对象result
}
MyTime MyTime::operator --()//秒每减到-1,就制成59,分减1;分每减到-1,就制成59,时减1
{
 if(m_second > 0)
  m_second --;
 else if(m_minute > 0)
 {
  m_second = 59;
  m_minute--;
 }
 else
 {
  m_second = 59;
  m_minute = 59;
  m_hour--;
 }
 MyTime result = *this;
 return result;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wuxiongkang/article/details/78534311
上一篇基于c++的运算符重载(二、数组非友元)
下一篇入门c++(一、编译预处理)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭