一、完善的复数类:
在上一篇文章里面我们已经提到了操作符重载的概念和使用,同时也举例了一个数学里面的复数操作,从一开始使用友元到使用操作符重载全局函数,再到使用操作符重载类成员函数,这样一步步演变而成我们最终实现了复数的实部加实部,虚部加虚部;而且当时我们只讲解了一个操作重载符“+”,所以为了完善学习体系,咋们今天继续把剩下的操作重载符总结完,以免知识体系零零散散。那么复数完善的操作符还有那些呢,其实很简单就能能想到,和对数学里面的实数操作一样,加减乘除肯定是少不了嘛,下面是汇总的操作符总结:
运算:+、-、*、/
比较:==、!=
赋值: =
求模: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++规定赋值操作符"="只能重载为成员函数
操作符重载不能改变原操作符的优先级
操作符重载不能改变操作数的个数
操作符重载不应改变操作符的原有语义
二、总结:
复数的概念可以通过自定义类实现
复数中的运算操作可以通过操作符重载实现
赋值操作符只能通过成员函数实现
操作符重载的本质为函数定义
-
可编程逻辑
+关注
关注
7文章
530浏览量
45498 -
C++
+关注
关注
22文章
2131浏览量
77487
发布评论请先 登录
FocusLCDs C82BXBSGLY2WT1字符显示模块技术解析
FocusLCDs C81C - YTY - LW65字符LCD模块详解
FocusLCDs C81C-BW-LW65字符LCD模块技术解析
C++与lua联合编程
C++:const 的空间,常量也能占内存?
keil实现c与c++混合编程
如何在TensorFlow Lite Micro中添加自定义操作符(1)
重载型编码器:工业巨擘的“智慧之眼”
C++之操作重载符学习的总结(二)
评论