TreeMind树图在线AI思维导图
当前位置:树图思维导图模板资格考试计算机2020年全国计算机二级C++复习知识点:典范运算符的重载(二)思维导图

2020年全国计算机二级C++复习知识点:典范运算符的重载(二)思维导图

  收藏
  分享
会员免费下载30积分
会员免费使用30积分
旧人不归 浏览量:72023-04-10 16:34:49
已被使用0次
查看详情2020年全国计算机二级C++复习知识点:典范运算符的重载(二)思维导图

备考2020年全国计算机二级考试的小伙伴们,复习的都怎么样了呢?树图网小编整理了2020年全国计算机二级C++复习知识点供大家参考复习,小伙伴们快来看看,测试一下自己吧!了解更多全国计算机二级考试敬请关注树图网计算机二级频道。

树图思维导图提供 2020年全国计算机二级C++复习知识点:典范运算符的重载(二) 在线思维导图免费制作,点击“编辑”按钮,可对 2020年全国计算机二级C++复习知识点:典范运算符的重载(二)  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:d7728edf74655a4fa1c32103fb36452e

思维导图大纲

2020年全国计算机二级C++复习知识点:典范运算符的重载(二)思维导图模板大纲

2020年全国计算机二级C++复习知识点:典范运算符的重载(二)

1、重载增1运算符"++"

++既可以是前缀运算符(前增1),又可以是后缀运算符(后增1)。为了区分这两种情况,重载这两个运算符时必须在格式上有所区别:重载后缀++时必须多一个虚拟参数:int,因此从形式上看像是一个二元运算符重载。

2、重载类型转换符"long"

类型转换符必须作为成员函数重载。在重载类型转换符时,由于运算符本身已经表示出返回值类型,因此不需要返回值类型的声明。一个分数可以看成是由一个整数部分和一个纯分数部分组成的,为了取得一个分数的整数部分,可为fraction重载类型转换符long。为此可在fraction.h的类声明中增加:

opertatorlong()const{returnnum/den;}

3、重载赋值运算符"="

赋值运算符只能作为成员函数重载。

常见的真正需要重载赋值运算符的情况是:类中包含指向报考空间的指针

赋值运算符=的重载应注意以下几点:

①返回值声明为引用,而函数体中总是用语句return*this;返回;

②如果参数被声明为指向同类对象的引用或指针,应判别所指向对象的是否与被赋值对象为同一对象,如果是,立即返回,不做任何赋值处理;

③如果被赋值对象占用了报考空间或其他资源,应首先释放这些资源,以便接收新的资源;

④如果参数被声明为指针或引用,通常应加上const修饰;

⑤如果参数被声明为指针,应判别是否为空,以便做出特殊处理;

⑥一个类如果需要重载运算符=,通常也就需要定义自己特有的拷贝构造函数,反之亦然。

4、重载复合赋值运算符"+="

重载复合赋值类运算符,如+=、-=等,也应遵循上述重载赋值运算符的注意事项。

与赋值运算符不同的是,复合赋值类运算符既可作为成员函数重载也可作为非成员函数重载。在后一种情况下,两个操作数都必须出现在参数表中;为了保持运算符原有的特性,参数应当声明为引用(否则就无法改变它的值),返回值也应当像重载"="那样声明为引用,并在后将获得新值的参数返回。

5、重载关系操作符">"

重载的关系操作符函数应返回逻辑值。对于fraction的两个对象,可以通过比较通分后的两个分子来确定它们的大小。为此,可在fraction.h的类声明中增加如下的成员函数声明:

booloperator>(fractionf){returnnum*f.den>f.num*den;}

其他关系运算符可以参照重载。

6、重载下标访问运算符"[]"

运算符[]只能作为成员函数重载。

相关思维导图模板

环境设计专业与绘画爱好对未来的规划思维导图

树图思维导图提供 环境设计专业与绘画爱好对未来的规划 在线思维导图免费制作,点击“编辑”按钮,可对 环境设计专业与绘画爱好对未来的规划  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4fb911227eb1229529b2e924f0e37ee8

生活垃圾填埋场的主要风险思维导图

树图思维导图提供 生活垃圾填埋场的主要风险 在线思维导图免费制作,点击“编辑”按钮,可对 生活垃圾填埋场的主要风险  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:85abaa63c165a883397c72ad1f4fde03