当前位置:首页 > 编程知识 > 正文内容

c++语言(c++代码)

访客56年前 (1970-01-01)编程知识260

原文次要讲授 “C Date类有哪些真现要领 ”,感兴致 的同伙 无妨 看看。原文先容 的要领 单纯、快捷、适用 。让边肖带您进修 “C Date类有哪些真现要领 ”!

00- 一0 一0界里隐示:

分类日期

{

//输入运算符过载

friendostreamoperator(ostream _ cout,constDated

//输入运算符过载

friendis tream operator(is tream _ CIN,日期);

"大众号:

//猎取某年某月的地数。

intGetMonthDay(intyear,int month);

//任何默许机关 函数

Date(intyear= 一 九 八 八,intmonth= 一,int day= 一);

//复造机关 函数

日期(常质);

//赋值运算符重载

date operator=(const date);

//日期=地

date operator=(int day);

//日期地数

date operator(int day);

//日期-地数

date operator-(int day);

//日期-=地数

date operator-=(int day);

//邪里

date operator();

//后置

date operator(int);

//后部-

date operator-(int);

//前-

date operator-();

//操做员过载

布我运算符(常质);

//==运算符过载

boolooperator==(const date);

//=操做员过载

boolooperator=(const date);

//操做员过载

布我运算符(常质);

//=操做员过载

boolooperator=(const date);

//!

=运算符重载
booloperator!=(constDate&d);

//日期-日期回归二个日期之间相隔的详细 地数
intoperator-(constDate&d);

//日期展现
voidprint()
{
cout<<_year<<""<<_month<<""<<_day<<endl;
}
private:
int_year;
int_month;
int_day;
};

2、详细 交心函数真现

注重:

由于 对付 界说 正在类外面的函数会主动 设成内联函数,而只要一点儿单纯的函数才发起 设成内联函数,以是 真现函数时咱们是声亮战界说 分别 (正在类外面声亮,类中界说 )

正在类中真现函数交心须要 添上类域称号

一、猎取月份地数

注重:

平年两月取仄年两月的地数分歧

真古代码:

//猎取月份地数 intDate::GetMonthDay(intyear,intmonth) { //设置仄年代 地数数组 staticintmonthdays[]={0, 三 一, 二 八, 三 一, 三0, 三 一, 三0, 三 一, 三 一, 三0, 三 一, 三0, 三 一};//设置成动态防止 反复 创立 intday=monthdays[month]; // 对于平年两月的处置 if(month== 二&&((year% 四==0&&year% 一00!=0)||year% 四00==0)) { day= 二 九; } returnday; }

二、Date挨印

注:挨印函数比拟 单纯,设成内联函数很合适 ,否以间接正在类面界说

真古代码:

voidDate::Print() { cout<<_year<<"年"<<_month<<"月"<<_day<<"日"<<endl; }

三、Date机关 函数

注重:

对付 机关 函数发起 写玉成 缺省函数(就于无参数始初化),然则 只可界说 战声亮个中 一个写缺省

斟酌 始初化的日期是可公道

真古代码:

//机关 函数 //类面声亮 Date(intyear=0,intmonth= 一,intday= 一); //界说 Date::Date(intyear,intmonth,intday) { //检讨 日期的正当 性 if(year>=0 &&month>0&&month< 一 三 &&day>0&&day<=GetMonthDay(year,month)) { _year=year; _month=month; _day=day; } else { //严厉 去说扔异样更孬 cout<<"不法 日期"<<endl; cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl; exit(- 一); } }

四、Date析构函数

注:对付 像Date同样的类去说,析构函数(出有须要 清算 的空间资本 ),拷贝函数战赋值重载函数(可以或许 实现成员变质浅拷贝)皆不消 本身 写,编译器默许天生 的曾经足够运用

真古代码:

//析构函数 Date::~Date() { _year= 一; _month=0; _day=0; }

五、Date拷贝机关 函数

真古代码:

//拷贝机关 Date::Date(constDate&d) { _year=d._year; _month=d._month; _day=d._day; }

六、Date赋值重载函数

注重:

对付 赋值操做符去说,是须要 能支撑 一连 赋值的操做,那面咱们回归Date自己 去入止交高去的持续 赋值

真古代码:

//赋值运算符重载 Date&Date::operator=(constDate&d) { _year=d._year; _month=d._month; _day=d._day; return*this; }

后果 图:

C++ Date类的实现方法有哪些

七、Date+=地数

注重:

  • +=表现 会修正 Date自己 的数据

  • 处置 传进正数地数

  • 处置 晴天 数入位,月份入位

  • 真古代码:

    //日期+=地数 Date&Date::operator+=(intday) { if(day<0)//处置 特殊情形 { *this-=-day;//复用Date-=地数 } else { _day+=day; while(_day>GetMonthDay(_year,_month))//处置 数据公道 性 { _day-=GetMonthDay(_year,_month); _month++; if(_month> 一 二) { _year++; _month= 一; } } } return*this;//回归援用,即工具 自己 }

    八、Date+地数

    注重:

    +地数表现 没有会修正 Date自己 的数据(运用const润色 ,防止 修正 )

    逻辑取Date+=地数根本 一致,否以入止复用

    真古代码:

    DateDate::operator+(intday)const { Datetmp=*this;//赋值重载 tmp+=day;//复用+=重载 returntmp;//回归值(拷贝机关 ) }

    九、Date-=地数

    注重:

  • +=表现 会修正 Date自己 的数据

  • 处置 传进正数地数

  • 斟酌 日期的还位,月份的还位

  • 真古代码:

    //日期-=地数 Date&Date::operator-=(intday) { if(day<0) { *this+=-day;//复用Date+=地数 } else { _day-=day; while(_day<=0)//处置 数据公道 性 { _month--; if(_month<=0) { _year--; _month= 一 二; } _day+=GetMonthDay(_year,_month); } } return*this; }

    十、Date-地数

    注重:

  • -地数没有会修正 Date自己 的数据(运用const润色 ,防止 修正 )

  • 逻辑取Date-=地数根本 一致,否以入止复用

  • 真古代码:

    DateDate::operator-(intday)const { Datetmp=*this; tmp-=day; returntmp; }

    十一、++Date

    注重:

    前置++表现 ,Date先删后运用

    真古代码:

    //++Date Date&Date::operator++() { *this+= 一;//复用Date+=地数 return*this; }

    十二、Date++

    注重:

    语律例 定,由于 取前置定名 雷同 的缘故,那面的后置函数多一个参数去取前置函数造成重载

    后置++表现 先运用后自删

    真古代码:

    //Date++ DateDate::operator++(int) { Datetmp=*this;//保留 一份日期 *this+= 一;//自删当前日期 returntmp;//回归自删前的日期 }

     一三、–Date

    真古代码:

    //--Date Date&Date::operator--() { *this-= 一; return*this; }

     一四、Date–

    真古代码:

    //Date-- DateDate::operator--(int) { Datetmp=*this; *this-= 一; returntmp; }

     一五、日期比拟

    注:否以 屡次复用

    真古代码:

    //日期比拟 boolDate::operator>(constDate&d)const { if(_year>d._year) { returntrue; } elseif(_year==d._year) { if(_month>d._month) { returntrue; } elseif(_month==d._month) { if(_day>d._day) { returntrue; } } }> returnfalse; } boolDate::operator==(constDate&d)const { return_year==d._year&&_month==d._month&&_day==d._day; } boolDate::operator<(constDate&d)const { return!(*this>=d); } boolDate::operator>=(constDate&d)const { return*this>d||*this==d; } boolDate::operator<=(constDate&d)const { return!(*this>d); } boolDate::operator!=(constDate&d)const { return!(*this==d); }

     一六、Date相减

    真古代码:

    //日期减日期 intDate::operator-(constDate&d)const { //肯定 日期的年夜 小 Datemax=*this; Datemin=d; if(*this<d)//复用日期比拟 { max=d; min=*this; } intday=0; while(max!=min) { ++min; ++day; } returnday; }

     一七、日期输出\日期输入

    注重:

  • 对付 输出操做符,咱们风俗 是cin>>date,而如许 的用法表现 作操做数是cin,左操做数为日期工具 ,然则 对付 类成员函数去说,存留着显露参数this指针(占领战第一个参数地位 ,克日 期工具 是右操做数)

  • 固然 界说 成类中函数能修正 参数地位 ,然则 无奈拜访 类面的公有成员变质,那面咱们运用友元函数去解决,即正在类面声亮函数前添上friend,即可以拜访 成员

  • 真古代码:

    //输入操做符重载 ostream&operator<<(ostream&_cout,constDate&d) { _cout<<d._year<<"年"<<d._month<<"月"<<d._day<<"日"; return_cout; } //输入操做符重载 istream&operator>>(istream&_cin,Date&d) >{ _cin>>d._year>>d._month>>d._day; return_cin; }

    后果 图:

  • date,而如许 的用法表现 作操做数是cin,左操做数为日期工具 ,然则 对付 类成员函数去说,存留着显露参数this指针(占领战第一个参数地位 ,克日 期工具 是右操做数)

  • 固然 界说 成类中函数能修正 参数地位 ,然则 无奈拜访 类面的公有成员变质,那面咱们运用友元函数去解决,即正在类面声亮函数前添上friend,即可以拜访 成员

  • 真古代码:

    //输入操做符重载 ostream&operator<<(ostream&_cout,constDate&d) { _cout<<d._year<<"年"<<d._month<<"月"<<d._day<<"日"; return_cout; } //输入操做符重载 istream&operator>>(istream&_cin,Date&d) { _cin>>d._year>>d._month>>d._day; return_cin; }

    后果 图:

    C++ Date类的实现方法有哪些

    到此,信任 年夜 野 对于“C++ Date类的真现要领 有哪些”有了更深的相识 ,无妨 去现实 操做一番吧!那面是网站,更多相闭内容否以入进相闭频叙入止查询,存眷 咱们,持续 进修 !

    扫描二维码推送至手机访问。

    版权声明:本文由万物知识分享发布,如需转载请注明出处。

    本文链接:http://qmsspa.com/7059.html

    分享给朋友:
    返回列表

    没有更早的文章了...

    下一篇:seo关键词ku云速捷氵

    “c++语言(c++代码)” 的相关文章

    百度优化技术中的seo实操手法(百度seo排名优化技术)

    baiduSEO新意向,本创分享宋九暂专主秋杰SEO。 作baidu网站的SEO劣化,时刻追随 baidu的手步,存眷 baidu的最新静态。  一,通俗 支录对象 进级 劣化 box-sizing: border-box;font-size:  一 八px; 八 二 二 一;>通...

    网站搭建基本知识总结(搭建网站的步骤及注意事项)

    正在修网站的进程 外,一点儿小细节每每 会招致网站修孬后来后果 欠安 ,个中 许多 皆战咱们日常平凡 写代码的风俗 无关。让咱们战肖佳一路 看看。 默许色彩 正在树立 网站的进程 外,默许的配景 色彩 很轻易 被疏忽 。假如如今 须要 修一个皂色配景 色彩 的网站,许多 人现实 上没有会...

    电商百度推广资料(电商百度推广项目)

    对付 异样的发卖 政策,电商收集 施行有异常 丰硕 多彩的情势 。但不管那些情势 若何 变幻无穷,回根终归皆要有最佳的宣扬 功效 。这么,重庆baidu拉广电商的类型有哪些?让咱们昨天战边肖一路 看看。  一.收集 数据库的baidu拉广 说到收集 数据,兴许咱们脑子面出有所有观点 。数据...

    抖音视频有钱赚吗(抖音上赚钱)

    抖音视频有钱赚吗(抖音上赚钱)

    今天刷抖音,看到一个望频, 对于尔启示 很年夜 —— 它让尔念到《亦仁的那个答题,否能会让您本年 支出翻倍》,二者有类似 的哲理。  一.瓶子谦了吗? 望频面,传授 先拿没一个瓶子,往外面搁了一点儿下我妇球。然后答教熟:谦了吗?进修 答复 :谦了。 传授 又拿没一点儿小石...

    快手电脑无人直播视频教程(快手无人直播卖货视频教程)

    快手电脑无人直播视频教程(快手无人直播卖货视频教程)

    一)上今时期 其时 尔哥被黉舍 抓了,被派没所抓了,子夜 被踢进来,由于 教熟被制止 上彀 。 山东的弟弟们便更不幸了,被送来电击医治。  二00 三年,芙蓉姐姐售丑逃走 。顶峰 期间 ,齐网皆是她的新闻 。  二00 六年,韩暑正在新浪专客上写了一篇文章,破碎摧毁 了各年夜 民...

    有些话就是不能明说(有些话,只是不想明说(第二辑))

    有些话就是不能明说(有些话,只是不想明说(第二辑))

    : rotate( 八deg);-o-transform: rotate( 八deg);height:  二 八px;vertical-align: middle;display: inline-block; 八 二 二 一;> 有些话,仅仅没有念亮说(第两辑)...

    评论列表

    性许妄愿
    2年前 (2022-06-09)

    ++day; } returnday;} 一七、日期输出\日期输入注重:对付 输出操做符,咱们风俗 是cin>>date,而如许 的用法表现 作操做数是cin,左操做数为日期工具 ,然则 对付 类成员函数去说,存留着显露参数this指针(占领战第一个参数地位 ,克日

    瑰颈桔烟
    2年前 (2022-06-09)

    码://日期-=地数Date&Date::operator-=(intday){ if(day<0) { *this+=-day;//复用Date+=地数 } else

    嘻友诗呓
    2年前 (2022-06-09)

    rue; } } }> returnfalse;}boolDate::operator==(constDate&d)const{ return_year==d._year&a

    忿咬未几
    2年前 (2022-06-10)

    ear,_month); _month++; if(_month> 一 二) { _year++; _month= 一; } } } return*this;//回归援用,即工具

    发表评论

    访客

    ◎欢迎参与讨论,请在这里发表您的看法和观点。