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

怎样建立一个免费的网站艺术字体在线生成器华康海报

怎样建立一个免费的网站,艺术字体在线生成器华康海报,网站设计论文题目,wordpress 回复 慢​#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.pierceye.com/news/164001/

相关文章:

  • 湛江网站制作多少钱建网站程序工具
  • 四川省乐山市建设银行网站一级门户网站建设费用
  • 六安网站制作哪里有网站备案网站
  • 石家庄手机网站建设公司wordpress媒体库难用
  • wordpress上传完了周口seo 网站
  • 广州网站建设技术方案建设宠物网站的目的
  • 邢台网站维护网络营销推广方法及分类
  • 做网站买过域名之后门户网站建设公司报价
  • 广告网站设计公司好吗重庆在线app
  • 深圳网站建设哪家公司便宜网站一般用什么语言做
  • 网站平台建设所需开发工具成都麦卡网络做网站开发怎么样
  • 可以做网站的电脑软件济南网页设计
  • 推广网站制作网站建设代理怎么做
  • 做网站页面遇到的问题网站规划设计的步骤
  • 请人做网站要多少钱做视频网站代码
  • 厦门建设网站的公司苏州外贸公司网站建设流程图
  • php做的静态网站怎么加密seo是什么工作
  • 溧水网站建设建立什么指标体系和评价程序规范
  • 怎样向顾客电销网站建设一号网站建设
  • 平陆县做网站移动网站开发的视频下载
  • 百度做个公司网站要多少钱区块链开源平台
  • 企业网站建设建设网站指定关键词优化
  • 找兼职做网站的哪里找建筑学院app网站
  • 电影采集网站建设松门建设规划局网站
  • 多用户自助建站系统wordpress修改生效
  • 免费学编程国内网站珠海网站建设 科速
  • 网站制作公司兴田德润简介福州公司做网站
  • 织梦网站图标路径上海网站推广
  • 网站亚马逊商城
  • h5企业模板网站模板江苏专业网站建设公司电话