C++从零基础教程之运算符重载,掌握四点助你掌握运算符重载

前言

公司主营业务:成都网站制作、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出沐川免费做网站回馈大家。

本章节主要讲解是运算符重载。运算符重载是赋予运算符能操作自定义类型的功能。C++运算符重载主要分为以下三类:

  • 类成员函数重载
  • 友元函数重载
  • 流运算符重载

类重载

重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。如下实现对象与对象的加法的测试代码:

对于上述重载: firstScore+secondScore 一般解析为 firstScore.operator +(secondScore) 的方式。operator+是函数名,对象调用成员函数的方式解析对象与对象的加法。所以类重载函数的参数个数是比运算符实际的操作数少1。

友元重载

友元重载,就是重载函数是友元函数,如下判断两个美女得分谁高的测试代码:

上述代码中,我们真正要比较的其实只是两个美女的各自得分,对于Liu>Di 重载函数的解析过程为 operator>(Liu,DI);operator>是函数名,故友元重载的参数个数是等于运算符的操作数的。

流重载

流运算符的重载只能采用友元的方式,并且流对象当做参数的时候必须采用引用(&)的方式,所以这里小编单独归结为一类。具体实例代码如下:

特殊重载

前置++或者-- 与后置++以及--的重载,类重载的时候并不遵循上述情况,通常我们会带一个int标识参数当做后置++或者--的重载,如下代码:

从这一点上看,其实前置之所以比后置快,一目了然,躲了一个对象的创建过程。

重载注意项

C++通常习惯单目运算符重载为类的成员函数,双目运算符重载友元函数,要注意的是有些运算符不能重载以及有些运算符只能重载类成员函数:

  • =,(),[],-> 只能重载为类成员函数
  • .,.*,::,?: 不能被重载

C++重载运算符的时候至少有一个数据是自定义类型,这个是重载的必备条件,切记。

文章题目:C++从零基础教程之运算符重载,掌握四点助你掌握运算符重载
分享链接:http://www.36103.cn/qtweb/news34/17934.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联