【C++】日期类的实现

07-17 1856阅读

【C++】日期类的实现

个人主页

创作不易,感谢大家的关注!

【C++】日期类的实现

【C++】日期类的实现

文章目录

  • ⭐一、前言
  • 🎄二、检查日期是否合法
  • 🎈三、获取某一年某一月份的天数
  • 🏝️四、算数运算符重载
    • 1.日期 += 天数
    • 2.日期 + 天数
    • 3.日期 -= 天数
    • 4.日期 - 天数
    • 5.日期 - 日期
    • 🏠五、递增递减运算符重载
      • 1.前置++和后置++
      • 2.前置--和后置--
      • 🚆六、日期类的大小比较
        • ==、>、>=、 if (_month

          2.日期 + 天数

          由于日期+天数的规则是不能改变当前日期的值,因此在成员函数中定义了一个tmp进行拷贝,最后传值返回。这是因为tmp作为临时变量,出了作用域就会进行销毁。

          //用const进行修饰防止左操作数被修改
          Date Date::operator-(int day) const
          {
          	//拷贝构造函数
          	Date tmp = *this;
          	tmp -= day;
          	return tmp;
          }
          

          由于+=天数的代码和+天数的代码类似,因此这里就使用了复用操作,提升代码的效率。

          3.日期 -= 天数

          该功能和上述日期+=天数的功能实现逻辑类似。不过需要不断向月和年去借天数。

          Date& Date::operator-=(int day)
          {
          	_day -= day;
          	while (_day 
          		--_month;
          		if (_month == 0)
          		{
          			_month = 12;
          			--_year;
          		}
          		else
          		{
          			_day += GetMonthDay(_year, _month);
          		}
          	}
          	return *this;
          }
          
          	Date tmp = *this;
          	tmp -= day;
          	return tmp;
          }
          
          	Date max = *this;
          	Date min = d;
          	int flag = 1;
          	if (*this 、>=、
          	return _year == d._year
          		&& _month == d._month
          		&& _day == d._day;
          }
          bool Date::operator(const Date& d)
          {
          	return !(*this 
          	return !(*this 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]