当前位置: 首页 > news >正文

做ppt做好的网站商丘河南网站建设

做ppt做好的网站,商丘河南网站建设,小规模企业所得税怎么算,深圳app开发公司前十名目录 一、前置准备 1.1获得每月的天数 1.2获得每年的天数 1.3构造函数#xff0c;析构函数和拷贝构造函数 二、日期与天数的,-,,-实现 2.1运算符重载 2.2运算符的实现 2.3-运算符的实现 2.4-运算符的实现 三、#xff0c;--的实现 3.1前置#xff0c;后置的实现 …目录 一、前置准备 1.1获得每月的天数 1.2获得每年的天数 1.3构造函数析构函数和拷贝构造函数 二、日期与天数的,-,,-实现 2.1运算符重载 2.2运算符的实现 2.3-运算符的实现 2.4-运算符的实现 三、--的实现 3.1前置后置的实现 3.2前置--和后置--的实现 四、下期预告 前言C初阶系列每一期博主都会使用简单朴素的语言将对应的知识分享给大家争取让所有人都可以听懂C初阶系列会持续更新上学期间将不定时更新但总会更的 一、前置准备 1.1获得每月的天数 每月的天数是一个很重要的东西其中二月最为特殊闰年的时候它是29其余年份为28我们可以使用数组的方式来进行操作而这个数组的创建也是有讲究的创建为13的长度最好。 因为数组的下标从0开始而日期是从1开始的如此我们若是想要月份和数组的下标一一对应就得放弃一个空间所以我们创建的长度为13创建完数组之后第一个下标的值给0即可从下一个下标的值开始给月份对应的天数给完之后再在外面对闰年的情况单独处理一下最后返回对应月份的天数就完成了。 int GetMonthDay(int year, int month){int arr[13] { 0,31,28,31,30,31,30,31,31,30,31,30,31 };if (_month 2 ((_year % 4 0 _year % 100 ! 0) || _year % 400 0)){return 29;}return arr[month];} 1.2获得每年的天数 这个操作比之前更加简单判断下是否是闰年即可不多说直接上代码 int GetYearDay(int year){if ((_year % 4 0 _year % 100 ! 0) || _year % 400 0)return 366;return 365;} 1.3构造函数析构函数和拷贝构造函数 这方面是很基本的具体的实现过程我就不赘述了如果有小伙伴不懂可以去看看博主之前写的博客C 初阶 类和对象(中)-CSDN博客 C初阶 类和对象(下)-CSDN博客 注意构造函数构造的日期不一定合法可以来个判断语句若非法中止程序 直接上代码 Date(int year1,int month1,int day1)//构造函数{if (year 1 || month12 || day GetMonthDay(year, month)){cout 日期非法创建失败 endl;exit(-1);//退出程序}_year year;_month month;_day day;}Date(const Dated1)//拷贝构造函数{_year d1._year;_month d1._month;_day d1._day;}~Date()//析构函数{_year 0;_month 0;_day 0;} 二、日期与天数的,-,,-实现 2.1运算符重载 目标实现一个日期天数日期被修改为过了多少天的日期 很多人第一次写会写成这样而编译器报错是因为多了一个this指针过去已经达到了三目运算符的操作了   因此我们只需要把Date d1去掉即可但因为有this指针的存在我们一样能对这个变量进行操作。 实现这个之前我们可以写一个GetMonthDay函数来获得没一月份的天数值得注意的一点是闰年时2月为29日接着我们来讲讲实现思路我们的返回值最好设置成Date型的因为操作的目标出了函数作用域在main中依然存在因此使用Date类型的返回值可以令编译器的效率得到提高。 可以先在目标的_day上加上day这样能方便之后的进位比方说2023-11-16 100就先处理成2023-11-116之后通过GetMonthDay取得的具体进位数据来进行进位即可这里就可以通过循环实现当_dayGetMonthDay时意味着需要进位因此可以以这个来作为循环是否继续的条件之后的实现便只需要注意一些细节即可比方说月满12进1之类的。 int GetMonthDay(int year, int month){int arr[13] { 0,31,28,31,30,31,30,31,31,30,31,30,31 };//之所以是13是为了更加符合日期的返回一月就返回数组下标为1的值if (month 2 ((year % 4 0 year % 100 ! 0) || year % 400 0)){return 29;}return arr[month];}Date operator (int day){_day day;while (_day GetMonthDay(_year,_month)){_day - GetMonthDay(_year, _month);_month;if (_month12){_month 1;_year;}}return *this;} 测试  2.2运算符的实现 有了运算符之后运算符就很好操作了复用一下就好  使用临时变量的原因是因为运算符并不改变原来变量的值比方说ab100;这里的b也不会被修改 Date operator(int day){Date tmp(*this);tmp day;return tmp;} 2.3-运算符的实现 这个实现起来和有着异曲同工之处都可以先直接在对象的_day上-day比方说2023-11-17-100就直接先转换为2023-11-(-83)然后通过月份的进位来不断的令_day增加直到_day大于0的时候循环停止并返回对应的内容即可。 注意月份和天数在进行--的时候是不可能出现0的大家应该都没听过0天0月这种说法吧因此在条件判断语句中应该要把0也考虑进去。 Date operator-(int day){_day - day;while (_day 0){_day GetMonthDay(_year, _month);_month--;if (_month 0){_month 12;_year--;}}return *this;} 测试 2.4-运算符的实现 如运算符一样简单的复用一下即可 Date operator-(int day){Date tmp(*this);tmp - day;return tmp;} 三、--的实现 3.1前置后置的实现 有了和运算符之后做这步是很简单的唯一需要注意的是后置的那个运算符在重载的时候参数中要多来个int注意前置先后使用后置先使用后 关于这方面更详细的讲解请看博主之前写的文章  C初阶 类和对象(下)-CSDN博客 Date operator()//前置先后使用{(*this) 1;return *this;}Date operator(int)//后置先使用后{Date tmp(*this);*this 1;return tmp;} 测试 3.2前置--和后置--的实现 与的实现几乎一样不再赘述 Date operator--(){(*this) - 1;return *this;}Date operator--(int){Date tmp(*this);*this - 1;return tmp;} 测试 四、下期预告 内容有点多博主就拆成两篇文章了大概今晚发
http://www.pierceye.com/news/90194/

相关文章:

  • 对于学校网站建设的建议google推广公司哪家好
  • 国外做装饰画的网站公司logo设计图片欣赏
  • 宿州外贸网站建设公司工信部资质查询网站
  • 动漫做暧视频网站用手机制作动画的app
  • 网站备案 域名证书帝国cms响应式网站模板
  • 一个电信ip做网站卡不卡企业网站建设排名资讯
  • 网站建设论文的开题报告制作一个app软件需要多少时间
  • 我们做的网站是优化型结构做二手车网站需要什么
  • 湛江网站建设保定公司互联网信息服务平台官网
  • 做展柜平时在哪里网站推广网站色彩学
  • 网站建站 seo企业网站建设方案模板
  • 国外有哪些做deal的网站四川建筑职业学校官网教务网
  • 无锡网站制作工作室临夏州建设厅官方网站
  • 怎么建设淘宝联盟的网站150m网站空间
  • 淘宝联盟链接的网站怎么做的wordpress幻灯片教程视频教程
  • 网站上线稳定后工作wordpress 不同的文章
  • 网站制作一条龙淘宝详情页制作
  • 海南营销网站建设安徽省住房城乡建设厅网站
  • 单招网站开发基础知识厚街网站建设公司
  • 怎么建微信群如何完成seo优化
  • 顺义广州网站建设wordpress更改字体大小
  • 网站二级目录怎么做婚纱摄影类网站
  • 做国外销售都上什么网站制作图片视频
  • jsp网站开发教学视频教程网站做的比较好的
  • 网站上传页面手机网站与PC网站
  • 在线绘画网站推广链接打开
  • wordpress 企业站 模板做情书直接点网站
  • 在线解压rar网站永康市网站建设
  • 广州建站商城长链接转换成短链接
  • 专注网站平台推广公司陕西网站备案查询