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

时间:2020-08-07 18:05:15 来源:

【摘要】 小编整理了2020年全国计算机二级C++复习知识点:典范运算符的重载(的相关内容,下面一起来看看2020年全国计算机二级C++复习知识点:典范运算符的重载(的具体内容吧,希望能够帮助到大家!

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、重载下标访问运算符[]

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

以上就是2020年全国计算机二级C++复习知识点:典范运算符的重载(的内容,更多资讯请及时关注考必过网站,小编会第一时间发布考试最新消息,大家考试加油!

上一篇      下一篇
计算机等级相关推荐 更多>>
计算机等级热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net