定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算符可以都是类对象。也可以其中一个是整数,顺序任意。例如:c1+c2,i+c1,c1+i 均合法(设i为整数,c1 c2为复数)。编程序 分别求两个复数之和,整数和复数之和。
内容侵权 涉嫌营销 内容抄袭 违法信息 其他
已经收到您得举报信息,我们会尽快审核
定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算符可以都是类对象。也可以其中一个是整数,顺序任意。例如:c1+c2,i+c1,c1+i 均合法(设i为整数,c1 c2为复数)。编程序 分别求两个复数之和,整数和复数之和。
内容侵权 涉嫌营销 内容抄袭 违法信息 其他
已经收到您得举报信息,我们会尽快审核
首先回忆下以前学的函数重载
大家都知道,在C里,有'+,-,*,/'这些操作符,且它们的功能就是实现普通变量运算。
由于C++是面向对象的,遇到的变量大多都是对象,所以优化了C里的操作符,使它们拥有了重载能力.能通过一定方式,使对象能进行'+,-,*,/'等运算.
操作符的重载是以函数的方式进行.
操作符重载,通过operator关键字在函数前定义:
操作符重载有几种方式 : 全局操作符重载函数、全局操作符重载函数
编译器首先会判断运算的若是对象,就会先从类里寻找成员操作符重载函数,若没找到,就会再去全局里寻找全局操作符重载函数.
比如赋值(=)、下标([])、下标([])、调用(())和成员访问箭头(->):
以加法(+)为例,当设为全局操作符重载函数时,执行
以加法(+)为例,当设为成员操作符重载函数时,执行
多个重载的操作符重载函数
由于操作符重载函数带参数,所以可以存在多个相同的操作符重载函数
1.接下来,来个全局操作符重载函数例子:
2.换成成员操作符重载函数例子:
由于C++里,没有复数的慨念,而在刚刚又学习了操作符重载,所以接下来便通过操作符重载来实现复数类
+ - : 结果 = 两个实部进行加减,两个虚部进行加减
求模成员函数 : 等于a^2+b^2的算术平方根
所以复数类的操作符重载共有以下几个: