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

南通网站设计制作做公司网站需要准备什么科目

南通网站设计制作,做公司网站需要准备什么科目,网站里的搜索怎么做,成都洛可可设计有限公司​#x1f47b;内容专栏#xff1a; C/C编程 #x1f428;本文概括#xff1a; C实现日期类。 #x1f43c;本文作者#xff1a; 阿四啊 #x1f438;发布时间#xff1a;2023.9.7 对于类的成员函数的声明和定义#xff0c;我们在类和对象上讲到过#xff0c;需要进行… ​内容专栏 C/C编程 本文概括 C实现日期类。 本文作者 阿四啊 发布时间2023.9.7 对于类的成员函数的声明和定义我们在类和对象上讲到过需要进行声明和定义分离。 一些需要使用的接口函数声明我们放入到Date.h文件中#include iostream using namespace std;class Date {public://构造函数Date(int year 1, int month 1, int day 1);//拷贝构造函数Date(const Date d);//析构函数//~Date(); //日期类可以不写//打印日期void Print()const;//运算符重载bool operator(const Date d) const;bool operator(const Date d) const;bool operator(const Date d) const;bool operator(const Date d) const;bool operator(const Date d) const;bool operator!(const Date d) const;//赋值运算符重载Date operator(const Date d);//日期 天数Date operator(int day);//日期 天数Date operator(int day) const;//日期 - 天数Date operator-(int day);//日期 - 天数Date operator-(int day) const;//获取当月天数int GetMonthDay(int year, int month) const;//前置Date operator();//后置Date operator(int);//前置--Date operator--();//后置--Date operator--(int);//日期 - 日期 返回天数int operator-(const Date d) const;private:int _year;int _month;int _day; };下面我们对一些日期接口函数的实现 实现于Date.cpp文件中一、构造函数、拷贝构造以及日期的打印 #include date.h //构造函数 Date::Date(int year, int month, int day) {_year year;_month month;_day day;//检查日期是否合法if (month 1 || month 12 || day 1 || day GetMonthDay(year, month)){cout 非法日期 endl;//exit(-1);} } Date::Date(const Date d) {_year d._year;_month d._month;_day d._day; } //Date::~Date() //{ // cout ~Date() endl; //} void Date::Print() const {cout _year 年 _month 月 _day 日 endl; }二、赋值运算符重载函数 //赋值运算符重载 Date Date::operator(const Date d) {if (this ! d){_year d._year;_month d._month;_day d._day;}return *this; }三、运算符重载 比较运算符重载 我们写一个operator 运算符重载函数和一个 operator 运算符重载函数即可其他直接复用就行。 bool Date::operator(const Date d) const {if (_year d._year){return true;}else if(_year d._year _month d._month){return true;}else if (_year d._year _month d._month _day d._day){return true;}else{return false;} } bool Date::operator(const Date d) const {return _year d._year _month d._month _day d._day; } bool Date::operator(const Date d) const {return (*this d) || (*this d); } bool Date::operator(const Date d) const {return !(*this d); } bool Date::operator(const Date d) const {return (*this d) || (*this d); } bool Date::operator!(const Date d) const {return !(*this d); }日期 ± 天数、日期 - 日期 获取当前月份的天数 首先我们需要写一个获取当月的天数GetMonthDay()函数以便于后面用日期 ± 天数运算。 //获取当月天数 int Date::GetMonthDay(int year, int month) const {static int MonthDayArray[13] { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };//判断是否为闰年(先判断是否为2月)if (month 2 ((year % 4 0 year % 100 ! 0) || (year % 4 0))){return 29;}return MonthDayArray[month]; }日期 天数 与 日期 天数 //日期 天数 Date Date::operator(int day) {if (day 0){return *this - -day;}_day day;while (_day GetMonthDay(_year, _month)){//月进位_day - GetMonthDay(_year, _month);_month;if (_month 13){_year;_month 1;}}return *this; } //日期 天数 Date Date::operator(int day) const {Date tmp(*this);tmp day;return tmp; } 日期 天数 //Date Date::operator(int day) //{ // Date tmp(*this); // tmp._day day; // // while (tmp._day GetMonthDay(tmp._year, tmp._month)) // { // //月进位 // tmp._day - GetMonthDay(tmp._year, tmp._month); // tmp._month; // if (tmp._month 13) // { // tmp._year; // tmp._month 1; // } // } // // return tmp; //} // 日期 天数 //Date Date::operator(int day) //{ // *this *this day; // return *this; //}日期 - 天数 与 日期 - 天数 我们知道了先写operator再写operator直接复用即可这种方法更优所以我们日期减去天数也是实现operator-再实现operator- //日期 - 天数 Date Date::operator-(int day) {if (day 0){return *this -day;}_day - day;while (_day 0){_month--;if (_month 0){_year--;_month 12;}_day GetMonthDay(_year, _month);}return *this; }//日期 - 天数 Date Date::operator-(int day) const {Date tmp(*this);tmp - day;return tmp; }自增 和 自减 重载 C规定前置和后置都是一元运算符为了让前置与后置形成能正确重载后置重载时多增加了一个int类型的参数与前置构成函数重载以区分前置 //前置 Date Date::operator() {*this 1;//返回之后的值return *this; } //后置 Date Date::operator(int) {Date tmp(*this);//返回之前的值*this 1;return tmp; }//前置-- Date Date::operator--() {*this - 1;return *this; } //后置-- Date Date::operator--(int) {Date tmp(*this);*this - 1;return tmp; }日期 - 日期 // d1 - d2 int Date::operator-(const Date d) const {//默认认为左边日期大Date max *this;Date min d;int flag 1;//为1返回正数-1返回负数int count 0;//统计天数//不成立则交换if (*this d){max d;min *this;flag -1;}//while(min max)while (min ! max){min;count;}return count * flag; }四、全局函数实现流插入流提取 date.h 流插入流提取重载函数的声明/*不能重载成成员函数否则会导致参数不匹配因为this指针永远占据第一个位置无法进行流插入提取操作。*/ //流插入 ostream operator(ostream out, const Date d); //流提取 istream operator(istream in, Date d);如果重载成成员函数那么成员函数的第一个参数永远是隐藏的this指针成员函数中只能利用out _year _month _day的顺序但是在调用时 (d1为日期类对象)d1 cout只能这么写虽然可以但是很别扭不符合使用习惯和价值。所以我们需要实现成全局函数才可以。 但是写成全局函数会访问类的成员变量我们可以利用友元或者将成员变量封装成成员函数解决。 date.cpp 流插入流提取重载函数的实现/*不能重载成成员函数否则会导致参数匹配因为this指针永远占据第一个位置无法进行流插入提取操作。*/ //涉及访问私有成员变量可以利用友元或者将成员变量封装成Get成员函数 //流插入 ostream operator(ostream out, const Date d) {out d._year 年 d._month 月 d._day 日 endl;return out; } //流提取 istream operator(istream in, Date d) {in d._year d._month d._day; }
http://www.hkea.cn/news/14303140/

相关文章:

  • 彩票网站建设安全度上海城隍庙
  • 具有营销型网站有哪些建筑人才网 一建港航
  • 企业网站建设合同电子版长沙防疫优化
  • wordpress主题点赞seo门户 site
  • 成都动力无限网站推广wordpress图片网站
  • wordpress lampp建站域名上面怎么建设网站
  • 公司网站的制作公司凡科建设网站怎样收录百度
  • 网站制作北京网站建设公司哪家好免费好用的wordpress
  • 博客系统做网站南昌网页制作
  • 要学做游戏上什么网站学好搬瓦工 wordpress
  • 任务一 分析电子商务网站栏目结构网站无障碍建设报告
  • 网站开发用什么编程wordpress倒计时插件下载
  • 好多词网站营销推广的工作内容
  • 制作网站制作网站建设的自适应自助建站网站
  • 网站制作与发布集团高端网站
  • 上上海网站建设设计天津网站经营性备案
  • 手机网站头部品牌建设需打持久战
  • 企业开发哈尔滨做网站seo的
  • 建立属于我们的网站有云服务器怎么做网站
  • 天津网站建设怎么样网站建设公司广州增城
  • 大学生网站规划建设建设网站的功能包括哪些
  • 网站建设网站建设微信开发公司
  • 网站建好了 如何推广网站的留言功能
  • 北京做网站开发的公司机械门户网站建设特点
  • 做网站视频一般上传到哪里恶意点击竞价是用的什么软件
  • wordpress站标签也打不开信阳企业网站建设
  • 北京网站建设网络公司wordpress内容管理
  • 怎么建自己的网站?绩效管理网站开发
  • 港口建设网站营销内容包括哪些方面
  • 天津网站建设报价百度蜘蛛池自动收录seo