行业知识
【C++】用C++实现一个日期计算器
2026-11-07 13:12:26
来源:互联网转载
欢迎来到CILMY23的博客
本篇主题为: 用C++实现一个日期计算器
个人主页:CILMY23-CSDN博客
系列专栏:Python | C++ | C语言 | 数据结构与算法 | 贪心算法 | Linux
感谢观看,支持的可以给个一键三连,点赞关注+收藏。
写在前头:
知识所需:构造函数,运算符重载,类和对象,类的声明和定义分离,内联函数,拷贝构造
额外知识: 友元声明
文件: Date.h Date.cpp test.cpp
注意:日期类的拷贝构造和析构都是不需要写的
目录
一、功能逻辑图
二、Date.cpp代码实现
2.1 日期比较
2.2 日期加天数
2.3 日期减天数
2.4 日期前置++和后置++
2.5 日期前置--和后置--
2.6 日期与日期相差的天数
2.7 日期显示
2.8 流输出
2.9 流提取
2.10 日期类输入的检查和日期的初始化
三、Date.h中的声明
一、功能逻辑图
日期计算器的功能如下,我们要考虑日期的增加和减少,自增和自减,以及两个日期类的比较,以及当前日期类的日期显示和用户的输入输出。
二、Date.cpp代码实现
2.1 日期比较
日期比较主要实现以下六种比较,因为日期的比较是自定义类型,所以我们需要用到运算符重载来进行比较,先通过实现等于和小于,其余的功能复用就可以了。
代码如下:
//日期比较//小于bool Date::operator=(const Date& d){return !(*this 2.2 日期加天数
日期增加天数我们所用到的运算符是 + 和 +=,日期增加有两种方式,一种是+复用+=,一种是+=复用+,我们实现的是+复用+=,另外一种会创建新对象造成效率降低。
Date& Date::operator+=(int day){_day += day;while (_day > GetMonthDay(_year, _month)){_day -= GetMonthDay(_year, _month);_month++;if (_month == 13){_month = 1;_year += 1;}}return *this;}Date Date::operator+(int day){Date tmp = *this;//拷贝构造tmp += day;return tmp;} 2.3 日期减天数
日期减去天数也同理日期增加天数,先实现 -= 然后再去实现 -
Date& Date::operator-=(int days) {_day -= days;while (_day
上一篇:公共服务器电源怎么选?