如何利用运算符重载实现复数相加?

2026-03-02 14:58:38

1、搭框架(写出主函数)。任何一个程序有且只有一个主函数,且从主函数开始的。那么基本的框架就是要定义类、实现复数相加(重载+运算符)、标准数据类型和类对象之间的转换。

如何利用运算符重载实现复数相加?

2、搭框架(定义类)。定义一个复数类,将复数的实部和虚部设置为私有成员,对成员的初始化,并对运算符重载进行声明。注意:对流输入和流提取运算符的重载不能定义为成员函数,原因是成员函数的第一个参数为类成员,只能定义为友元函数。

如何利用运算符重载实现复数相加?

3、逐步扩充(对输入流函数运算符的重载)。图中的input是istream类的一个引用,input是自定义的一名字。return input;语句的目的是能连续向输出流插入信息图中函数体内的cout<<是c++标准的输出流。

如何利用运算符重载实现复数相加?

4、逐步扩充(对输出流函数运算符的重载)。图中的output是ostream类的一个引用,output是自定义的一名字。return output;语句的目的是能连续向输出流插入信息。流提取运算符的重载只能用友元函数。

如何利用运算符重载实现复数相加?

5、对“+”运算符的重载。图中将运算符重载函数定义为成员函数,因此只需要写出一个参数,第一个参数默认为本类的成员。同样还可以将运算符重载函数定义为友元函数,这样参数为两个。

如何利用运算符重载实现复数相加?

6、类型转换函数和转换构造函数。转换构造函数使将一个其他类型的数据转化成类对象。例如,c=c1+2.5;执行时,编译系统首先识别是否对+运算符进行了重载,因为c为类对象,所以自动调用转换构造函数。类型转换函数是将一个类对象转化为其他类型的,原理和转换构造函数相似。

如何利用运算符重载实现复数相加?

7、运算结果以及完善。从图中的结果可以看到前两个的结果为类的对象-----即一个复数,而最后一个结果为一个double类型的数--3.7 。 其中就是运用了类型转换函数和转换构造函数。在输出时,考虑到虚部为复数的情况,则增加了条件语句,对程序进行完善。

如何利用运算符重载实现复数相加?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢