
回复
春节不停更,此文正在参加「星光计划-春节更帖活动」https://harmonyos.51cto.com/posts/9923
我们要有一个习惯就是写代码或者是写项目的时候我们要写一点编一点,要养成良好的习惯,万万不可以写完了再编,然后出了一堆错误自己都不想看,我们先自己编个最小项目或者系统框架在加其他功能
Date.h
就是一些头文件,声明啥的
Date.cpp
这里面就是写日期类的函数了
test.cpp
当我们能基本丐版跑出来了那我们接下来的路还是要走的,我们要考虑到数据是否合理啊什么的
所以我们需要检查日期的合法性
上面的确是排除了百分之99的滤掉了,但是闰年2月是特殊考虑的反而没有代码实现
我们可不可以优化一下,比如我就输错了一个日期你就直接程序死了是不是有点太霸道了,你应该抛出异常,或隔一下啥的
仅仅就是加没有赋值过去,要和上面那个分清了,所以我需要一个中间临时变量(这个我们叫临时对象)来存储运算后的数据
日期加加和加加日期都是++,但是operator运算符重载怎么区分呢,
前置++返回运算以后的值
后置++返回运算前的值
复用上面那个函数就行
日期减减和减减日期都是–,但是operator运算符重载怎么区分呢,
前置–返回运算以后的值
后置–返回运算前的值
我们有时候是需要考虑日期里面是有负数的
所以需要我们改一下代码,需要+=的代码,直接挪用
复用即可
同样的+=里面有负数也是一样的处理
所以我们也把-=的代码拎过来
同理复用即可
d1 > d2
d1 == d2
d1 >= d2
d1 < d2
d1 <= d2
d1 != d2
日期减日期是不是就是相差多少天,那你这个怎么操作呢