备考2020年全国计算机二级考试的小伙伴们,复习的都怎么样了呢?树图网小编整理了2020年全国计算机二级C++复习知识点供大家参考复习,小伙伴们快来看看,测试一下自己吧!了解更多全国计算机二级考试敬请关注树图网计算机二级频道。
树图思维导图提供 2020年全国计算机二级C++复习知识点:典范运算符的重载(二) 在线思维导图免费制作,点击“编辑”按钮,可对 2020年全国计算机二级C++复习知识点:典范运算符的重载(二) 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:d7728edf74655a4fa1c32103fb36452e
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、重载下标访问运算符"[]"
运算符[]只能作为成员函数重载。
树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc
树图思维导图提供 销售经理半年规划 在线思维导图免费制作,点击“编辑”按钮,可对 销售经理半年规划 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e614d6bcf03e9318109240a18697c5d1