C++运算符重载时要遵循的规则

Posted C语言学习联盟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++运算符重载时要遵循的规则相关的知识,希望对你有一定的参考价值。


(1)除了类属关系运算符“.”、成员指针运算符“.*”、作用于运算符“::”、sizeof运算符和三目运算符“?:”以外,C++中所有的运算符都可以重载。


(2)重载运算符限制在C++语言中已有的运算符范围内的允许重载的运算符之中,不能创建新的运算符。


(3)运算符重载实质上是函数重载,因此编译程序对运算符重载的选择,遵循函数重载的选择原则。


C++运算符重载时要遵循的规则


(4)重载之后的运算符不能改变运算符的优先级和结合性,也不能改变运算符操作数的个数及语法结构。


(5)运算符重载不能改变该运算符用于内部类型对象的含义。它只能和用户自定义类型的对象一起使用,或者用于用户自定义类型的对象和内部类型的对象混合使用时。


(6)运算符重载是针对新类型数据的实际需要对原有运算符进行适当的改造,重载的功能应当与原有功能相类似,避免没有目的的使用重载运算符。


C++运算符重载时要遵循的规则


(7)重载运算符的函数不能有默认的参数,否则就改变了运算符的参数个数,与第三点矛盾。


(8)重载的运算符只能是用户自定义类型,否则就不是重载而是改变了现有C++标准数据类型的运算符的规则了。



(9)用户自定义类的运算符一般都必须重载后方可使用,但两个例外,运算符“=”和“&”不必用户重载。


(10)运算符重载可以通过成员函数的形式,也可以通过友元函数,非成员非友元的普通函数。


小编整理了一套C语言学习资料,需要的话可以私信@C语言学习联盟回复领取资料即可,欢迎大家关注,有时间会及时分享相关技术博文,你的关注和点赞对小编都很重要,谢谢各位动动发财的手指点点关注啦~

以上是关于C++运算符重载时要遵循的规则的主要内容,如果未能解决你的问题,请参考以下文章

C++重载运算符的规则

C++重载运算符的规则

C++提高:运算符重载

C++提高:运算符重载

C++学习(四七一)重载运算符

C++ 运算符重载