C++之操作重载符学习的总结(二)

描述

一、完善的复数类:

在上一篇文章里面我们已经提到了操作符重载的概念和使用,同时也举例了一个数学里面的复数操作,从一开始使用友元到使用操作符重载全局函数,再到使用操作符重载类成员函数,这样一步步演变而成我们最终实现了复数的实部加实部,虚部加虚部;而且当时我们只讲解了一个操作重载符“+”,所以为了完善学习体系,咋们今天继续把剩下的操作重载符总结完,以免知识体系零零散散。那么复数完善的操作符还有那些呢,其实很简单就能能想到,和对数学里面的实数操作一样,加减乘除肯定是少不了嘛,下面是汇总的操作符总结:

运算:+、-、*、/

比较:==、!=

赋值: =

求模:modulus

2、各操作符重载的形式:

 

代码实现:

test.h头文件:

 

test.cpp文件:

 

 

 

main.cpp文件:

 

运行结果:

 

上面设计到一些数学知识,比如复数的乘法和除法运算:

乘法:(a+bi)(c+di)=(ac-bd)+(bc+ad)i

除法:(a+bi)/(c+di)=(ac+bd)/cc+dd +(bc-ad)/cc +dd

3、注意事项:

C++规定赋值操作符"="只能重载为成员函数

操作符重载不能改变原操作符的优先级

操作符重载不能改变操作数的个数

操作符重载不应改变操作符的原有语义

二、总结:

复数的概念可以通过自定义类实现

复数中的运算操作可以通过操作符重载实现

赋值操作符只能通过成员函数实现

操作符重载的本质为函数定义

审核编辑:符乾江
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分