山西
400-650-7353
首页 > 计算机二级 > 【备考】C++考前辅导:重载双目运算符

【备考】C++考前辅导:重载双目运算符

2018-08-16 17:34:55 来源:互联网 荐:IT资料豪华升级版,点击加群领取

C++考前辅导:重载双目运算符

作为类成员函数的重载为了能进行类对象和一个整型值的加法运算,需要写一个类的成员函数来重载双目加法(+)运算符。该函数在类中的声明如下:

Date operator + (int) const;

函数的声明指出,返回值是一个Date类对象,函数名是运算符+,只有一个整型参数,而且函数是常量型的。当编译器发现某个函数以加上前缀operator的真实运算符作为函数名,就会把该函数当作重载运算符函数来处理。如果在表达式中,该运算符的左边是一个类对象,右边是一个参数类型的一个对象,那么重载运算符函数就会被调用。调用形式如下:

Date dt(6,9,2005);

dt=dt+100;

也可以显式的调用重载运算符函数:

dt.operator + (100);

下面代码重载了双目加法运算符来计算一个整数和一个Date类对象之和,并且返回Date类对象。

#include iostream.h

class Date

{

int mo,da,yr;

static int dys[];

public:

Date(int m=0,int d=0,int y=0)

{ mo=m; da=d; yr=y;}

void display() const

{ cout < Date operator + (int) const;

};

int Date::dys[]={31,28,31,30,31,30,31,31,30,31,30,31};

Date Date::operator+(int) const

{

Date dt=*this;

n+=dt.da;

while(n >=dys[dt.mo-1])

{

n-=dys[dt.mo-1];

if(++dt.da==13)

{

dt.mo=1;

dt,yr++;

}

}

dt.da=n;

return dt;

}

int main()

{

Date olddate(1,1,2005);

Date newdate;

newdate=olddate+100;

newdate.display();

return 0;

}

编辑推荐IT学习交流群:点击加群 571960479

加群备注:网站(限时赠送500G海量IT学习资料)

关注微信:山西优就业(ID:ujiuyesx)

回复:简历模板,即可领取

【各类行业的简历模板】

回复:安装包的名称,例:AI,即可领取

AI、DW、PS、AX、C4D等破解版软件

【小U将毕生绝学传授于你,打倒HR,轻松搞定CEO】

相关推荐:暑期IT镀金之行

【备考】C++语言考试技巧:常量指针和指针常量

更多分享交流,礼品领取,海量干货,请扫描下方内部资料领取二维码,一不小心就爱上IT,成为了大佬!

免责声明:本文来源于网络,由网友提供或网络搜集,仅供个人交流学习参考使用,不涉及商业盈利目的。如有版权问题,请联系本站管理员予以更改或删除。谢谢合作!

热门标签: C++ 重载双目运算符

猜你喜欢

推荐阅读