2023.5.26编程一小时打卡

发布时间 2023-05-26 17:31:22作者: 信2211-8李欣垚

一、问题描述:

定义复数类MyComplex,主函数完成相关测试。

MyComplex类结构说明:

1、数据成员包括:私有数据成员:实部x(double)虚部y(double)。

2、成员函数包括:无参构造函数MyComplex(void),其功能是将数据成员数部和虚部的值均设为0;

有参构造函数MyComplex(double value1,double value2),其功能是将数据成员实部x的值均设为value1,虚部y的值均设为value2。

公有成员函数double getX(),其功能是返回实部x的值。

公有成员函数double getY(),其功能是返回实部y的值。

公有成员函数double Mod_Com(),其功能是计算并返回复数x+yi的模。

重载实现加法运算符+,其功能是实现俩个复数的和。

二、解题思路:

首先定义复数类,根据题目要求定义成员数据,在定义其构造函数和成员函数用sqrt()计算根植。最后,在主函数中,定义复数类的俩个对象,输出其的模以及俩个复数相加的结果。

三、代码实现:

 1 #include <iostream>
 2 #include<string>
 3 #include<iomanip>
 4 using namespace std;
 5 class MyComplex
 6 {
 7 private:
 8     double x,y;
 9 public:
10     MyComplex(void){}
11     MyComplex(double value1,double value2):x(value1),y(value2){}
12     double getX(void)
13     {
14         return x;
15     }
16     double getY(void)
17     {
18         return y;
19     }
20     double Mod_Com(void)
21     {
22         return sqrt(x*x+y*y);
23     }
24     MyComplex operator+(MyComplex &m)
25     {
26         MyComplex a;
27         a.x=x+m.x;
28         a.y=y+m.y;
29         return a;
30     }
31 };
32 int main()
33 {
34     MyComplex m1(0,0),m2(3,4),m3;
35     cout<<m1.Mod_Com()<<endl;
36     cout<<m2.Mod_Com()<<endl;
37     m3=m1+m2;
38     cout<<m3.getX()<<"+"<<m3.getY()<<"i"<<endl;
39     return 0;
40 }