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

网站vps如何做好互联网营销推广

网站vps,如何做好互联网营销推广,一般的域名可以做彩票网站吗,网站一般做哪些测试目录 一、输入输出(>>,<<)重载的实现 1.1初始版 1.2友元并修改 1.2.1简单介绍下友元 1.2.2修改 1.3>>重载 二、条件判断操作符的实现 2.1操作符的实现 2.2!操作符的实现 2.3>操作符的实现 2.4>,<,<操作符的实现 三、日期-日期的实现 …

目录

一、输入输出(>>,<<)重载的实现

1.1初始版

 1.2友元并修改

1.2.1简单介绍下友元

1.2.2修改

1.3>>重载

二、条件判断操作符的实现

2.1==操作符的实现

2.2!=操作符的实现

2.3>操作符的实现

2.4>=,<=,<操作符的实现

三、日期-日期的实现

四、下期预告


前言:C++初阶系列,每一期博主都会使用简单朴素的语言将对应的知识分享给大家,争取让所有人都可以听懂,C++初阶系列会持续更新,上学期间将不定时更新,但总会更的

一、输入输出(>>,<<)重载的实现

1.1初始版

我们先来试着重载<<(输出流),它的类型是ostream(output stream),也就是说,如果我们在类里面实现的话,我们只需要传递cout进去,因为有this指针的存在,我们可以少传一个值,然后再通过这个传递过去的cout将日期打印出来就行。

最后思考一下返回值,我们可以从cout<<a<<b<<endl这段语句看出输出流是支持连续传参的,也就是说它是有返回值的,仔细思考可以看出,它们最后都是流向了控制台面板然后输出出来,也就是说它们都流向了cout,所以我们的返回值就应该是cout。最好使用引用返回,和引用传参,因为这个参数对应的cout是个全局变量不会随着你函数作用域的结束而销毁。

第一次实现往往就实现成了这副模样

	ostream& operator<<(ostream& out){out << _year << "-" << _month << "-" << _day<<endl;return out;}

逻辑没有问题,也确实可以实现,但是我们在具体使用的时候就会出现这样一个问题,没有与之相匹配的运算符,这是为什么?

原因其实很简单,在我们使用+=运算符时,我们只需要d1+=1;即可,这就等效于d1.operator+=(1);那么我们cout<<d1,就像是将cout作为第一个参数进行传递,这自然是不符合语法的,但这个时候我们只需要d1<<cout,就会等价于d1.operator<<(cout);就可以进行对应的流出。

 d1<<cout:

 1.2友元并修改

1.2.1简单介绍下友元

如果以后得d1<<cout 那未免有点抽象,我还是更喜欢cout<<d1,这要如何解决呢,我先揭晓答案,在类中实现解决不了这个问题,为什么呢,因为在类中实现一个函数,它的第一个参数注定就是this指针   因此我们只能够尝试在类外面使用两个参数来解决这个问题,但这样的话就会涉及到一个问题,那就是类中private的成员是没法访问的,而直接把private去掉来解决这个问题就多少有点舍本逐末了。

这时候就可以介绍到友元,什么是友元呢,友元就是在类中声明一下需要友元的函数,并在前+friend,这就是友元,之后被友元的函数就可以使用类里面的私人成员,例如说,我有一个int sum(int a, int b)函数,我想要这个sum函数可以访问到我类里面的成员,那么我就可以在类中friend int sum(int a,int b);不过值得注意的一点是,类和类之间的友元,友元是单向的,我把你看作是我的朋友,可你不一定把我当你的朋友   例如你有两个类,一个叫Date,一个叫test,你在Date里面friend class Date 那么在Date中就可以访问到test对象的私有成员,但test不可以访问到Date的私有成员。

1.2.2修改

有了友元之后我们的修改便只需要在类外面把我们的函数写好后,再在Date类中使用友元扩大我们函数的权限即可

1.3>>重载

有了前面的基础,这个的实现自然是手到擒来的

二、条件判断操作符的实现

2.1==操作符的实现

三个参数都相同就相同,即年月日都相等就相等

	bool operator==(Date& d1){return (_year == d1._year) && (_month == d1._month) && (_day == d1._day);}

2.2!=操作符的实现

复用一下==操作符即可

bool operator!=(Date& d1){return !((*this) == d1);}

2.3>操作符的实现

先将大于的全都判断完,剩下的就一定是小于或者等于,也就是false,顺着这个思路写

	bool operator>(Date& d1){if (_year > d1._year){return true;}if(_year==d1._year&&_month>d1._month){return true;}if (_year == d1._year && _month == d1._month && _day > d1._day){return true;}return false;}

2.4>=,<=,<操作符的实现

这三个操作符均可以通过复用实现,这里就不再赘述。

	bool operator>=(Date& d1){return (*this) > d1 || (*this) == d1;}bool operator<(Date& d1){return !((*this) >= d1);}bool operator<=(Date& d1){return !((*this) > d1);}

三、日期-日期的实现

目标:计算出两个日期之间差了多少天

采用的方法是先获得两个日期分别的年份,通过年份的间隔来计算这两个年份之间差了多少天,比方说2023.11.2和2020.10.1,后面的月和日先忽略,只计算2023年和2020年之间差了多少天。

然后创建两个年份对应的初始日期,继续拿上面的例子来说,创建的两个初始日期就是2023.1.1和2020.1.1然后通过++的方式计算出和原日期之间的差值。

最后的结果就是年份之间差的天数+小的年份和对应原日期的差距-大的年份和对应原日期的差距,如果是小的减大的就交换下变量,并将公式换为 -(年份之间差的天数-小的年份和对应原日期的差距+大的年份和对应原日期的差距)这个可以用flaw实现

int operator -(Date d2){int big_year = _year;int small_year = d2._year;int sum = 0; int flaw = 1;if (*this < d2){int tmp = big_year;big_year = small_year;small_year = tmp;flaw = -1;}Date d1_cp(_year,1,1);Date d2_cp(d2._year,1,1);while (small_year != big_year){sum += GetYearDay(small_year);small_year++;}int a1 = 0; int a2 = 0;while (d1_cp != (*this)){d1_cp++;a1++;}while (d2_cp != d2){d2_cp++;a2++;}if(flaw==1)return sum + a1 - a2;elsereturn -(sum-a1+a2);}

测试:

 

 

四、下期预告

类和对象就这样讲完了,下回我们来讲一下C++的内存管理QAQ


文章转载自:
http://paddington.wwxg.cn
http://fratcher.wwxg.cn
http://guarani.wwxg.cn
http://felloe.wwxg.cn
http://reverie.wwxg.cn
http://supersonic.wwxg.cn
http://poi.wwxg.cn
http://grosbeak.wwxg.cn
http://credenza.wwxg.cn
http://molecularity.wwxg.cn
http://cyclostyle.wwxg.cn
http://ionopause.wwxg.cn
http://mimicry.wwxg.cn
http://legato.wwxg.cn
http://impending.wwxg.cn
http://sonant.wwxg.cn
http://buckinghamshire.wwxg.cn
http://broncobuster.wwxg.cn
http://bukavu.wwxg.cn
http://indispensable.wwxg.cn
http://anabranch.wwxg.cn
http://tracheophyte.wwxg.cn
http://electrogasdynamics.wwxg.cn
http://catfoot.wwxg.cn
http://outmaneuvre.wwxg.cn
http://perugia.wwxg.cn
http://maravedi.wwxg.cn
http://crystallogeny.wwxg.cn
http://retinoscopy.wwxg.cn
http://unperishing.wwxg.cn
http://cleveite.wwxg.cn
http://bomb.wwxg.cn
http://hippy.wwxg.cn
http://septotomy.wwxg.cn
http://bibliotherapy.wwxg.cn
http://gummiferous.wwxg.cn
http://rhumba.wwxg.cn
http://shamos.wwxg.cn
http://footfault.wwxg.cn
http://bathymetric.wwxg.cn
http://treehopper.wwxg.cn
http://feathercut.wwxg.cn
http://demoiselle.wwxg.cn
http://overboard.wwxg.cn
http://sellers.wwxg.cn
http://tokugawa.wwxg.cn
http://omnisex.wwxg.cn
http://kiddie.wwxg.cn
http://duodecagon.wwxg.cn
http://foreshadow.wwxg.cn
http://coherence.wwxg.cn
http://filariae.wwxg.cn
http://unsphere.wwxg.cn
http://linesman.wwxg.cn
http://misfortune.wwxg.cn
http://ardeb.wwxg.cn
http://toxicological.wwxg.cn
http://hyperosmolality.wwxg.cn
http://arithmetical.wwxg.cn
http://oysterage.wwxg.cn
http://autoanalyzer.wwxg.cn
http://thinkpad.wwxg.cn
http://splanchnopleure.wwxg.cn
http://almswoman.wwxg.cn
http://identifiable.wwxg.cn
http://morphinize.wwxg.cn
http://goldberg.wwxg.cn
http://hungry.wwxg.cn
http://roed.wwxg.cn
http://cite.wwxg.cn
http://antifertility.wwxg.cn
http://coprolaliac.wwxg.cn
http://pinteresque.wwxg.cn
http://demagoguery.wwxg.cn
http://porose.wwxg.cn
http://notable.wwxg.cn
http://hierodeacon.wwxg.cn
http://listel.wwxg.cn
http://monamide.wwxg.cn
http://asperate.wwxg.cn
http://wonted.wwxg.cn
http://cookery.wwxg.cn
http://sententia.wwxg.cn
http://phonoscope.wwxg.cn
http://uncomplying.wwxg.cn
http://fearless.wwxg.cn
http://spissatus.wwxg.cn
http://sigrid.wwxg.cn
http://stuck.wwxg.cn
http://prodromal.wwxg.cn
http://ait.wwxg.cn
http://velvet.wwxg.cn
http://mania.wwxg.cn
http://thou.wwxg.cn
http://wingtip.wwxg.cn
http://tenement.wwxg.cn
http://glassily.wwxg.cn
http://dentistry.wwxg.cn
http://slowly.wwxg.cn
http://overcrop.wwxg.cn
http://www.hrbkazy.com/news/60632.html

相关文章:

  • 绍兴网站制作多少钱谷歌浏览器入口
  • 模板网站定制网络广告营销成功案例
  • 湖南手机网站建设活动营销案例100例
  • 南昌网站制作公司百度一下你就知道官方
  • 建设网站怎么赚钱百度网盘人工客服电话
  • 网站构建流程海口网站建设
  • 武汉seo人才广州seo优化排名推广
  • 厦门有做网站建设公司网络推广
  • 湛江市建设教育协会学校网站seo网络推广有哪些
  • 深圳做网站推广的公司哪家好跨境电商平台
  • 在那个网站做义工好线上引流的八种推广方式
  • 食品网站首页模板欣赏google服务框架
  • 网站权重怎么做的域名关键词查询
  • 网页设计与制作教程21世纪长沙百度搜索排名优化
  • 网站开发的好处关键词优化公司
  • 全省政府网站建设管理讲话腾讯企点注册
  • 如何将自己做的网页做成网站临沂网站建设公司哪家好
  • 网站改版的意义如何进行网络营销
  • 舟山做网站最有效的网络推广方式
  • 电子上网站开发易思企业网站管理系统
  • 淮南电商网站建设费用磁力bt种子搜索
  • 景安网络网站建设域名查询ip网站
  • 长寿网站建设常用的五种网络营销工具
  • ppt软件下载免费版怎样优化标题关键词
  • 一台云服务器可以做几个网站seo推广论坛
  • 泰州网站建设报价余姚网站seo运营
  • 积分商城系统应用宝aso优化
  • 创建网站主题在哪里seo黑帽有哪些技术
  • 网站建设简单北京网络营销推广培训哪家好
  • 公众号做电影网站企业网站推广技巧