温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中怎么实现重载运算符

发布时间:2021-07-06 17:30:31 来源:亿速云 阅读:141 作者:Leah 栏目:编程语言

C++中怎么实现重载运算符,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

一。重载运算符的时机

1。需要在定义的对象间相互赋值时,重载赋值运算符

2。需要在数字类型增加算术属性时,重载算术运算符

3。需要为定义的对象进行逻辑比较时,重载关系运算符

4。对于container,重载下标运算符[]

5。需要从I/O流中读写对象时,重载<<和>>运算符。

6。重载成员指针运算符 -> 以实现smart指针

7。在少数情况下重载new,delete运算符

8。不重载其他运算符

实际上任何用重载运算符完成的工作都可以使用成员函数来实现。

重载的运算符可以和原来的运算符不一定有必然联系,例如我重载\'+\'运算马夫,可以不做加法运算,而是把字符串连接起来。当然你要是用\'+\'运算符来做减法运算,也是可以的,不过这不是明智之举。

二。重载运算符的规则

1。重载的运算符不能违反语言的语法规则

2。如果一个运算符可以放在两个操作数之间,就可以重载它来满足类操作的需要,哪怕这种用法原本为编译器不能接受。

3。不能创造C++语言中没有的运算符

4。下列运算符不能重载

  • . 类成员运算符

  • .* 成员指针运算符

  • :: 域解析运算符

  • ?: 条件表达式运算符

5。重载时不能改变运算符的优先级

三。运算符重载

运算符重载是通过对运算符函数的重载来实现的。对于每一个运算符@,在C++中都对应一个运算符函数operator@,其中@为C++各种运算符。

运算符函数的一般原型为:

ype operator@ (arglist)

其中type为运算结果的类型,arglist为操作数列表。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI