1、对C++的运算符重载不太熟悉,所以相关复数运算操作是通过定义静态函数来操作;

2、C++的类变量貌似和java定义类变量机制不一样,PI只能用宏来定义了。

复数类:

 1 #pragma once#
 2 #include <math.h>
 3 class CComplex/*复数运算类*/
 4 {
 5 private:
 6     double m_real;   /*实部*/
 7     double m_img ;   /*虚部*/
 8 
 9 public:
10     /*构造函数和析构函数*/
11     CComplex();
12     CComplex(CComplex &c);
13     CComplex(double real, double img);
14     ~CComplex();
15     /* setters & getters */
16     void    setReal ( double value   );
17     double   getReal (   );
18     void    setImg  ( double value   );
19     double   getImg  ( );
20 
21     /*加法*/
22     static void add(CComplex &c1 ,CComplex &c2 ,CComplex &c3)
23     {
24         double _real = c1.getReal() + c2.getReal();
25         double _img = c1.getImg() + c2.getImg();
26         c3.setReal(_real);
27         c3.setImg(_img);
28     }
29 
30     /*减法*/
31     static void minus(CComplex &c1, CComplex &c2, CComplex &c3)
32     {
33         double _real = c1.getReal() - c2.getReal();
34         double _img = c1.getImg() - c2.getImg();
35         c3.setReal(_real);
36         c3.setImg(_img);
37     }
38 
39     /*乘法*/
40     static void multi(CComplex &c1, CComplex &c2, CComplex &c3)
41     {
42 
43         double a = c1.getReal();
44         double b = c1.getImg();
45         double c = c2.getReal();
46         double d = c2.getImg();
47 
48         double _real = a * c - b * d;
49         double _img = a * d + b * c;
50         c3.setReal(_real);
51         c3.setImg(_img);
52     }
53 
54     double getModulus   ();    //模长计算
55     double getAngle     ();    //幅角计算
56 };
CComplex.h

相关文章:

  • 2022-01-06
  • 2021-11-06
  • 2021-10-16
  • 2021-10-26
  • 2022-12-23
  • 2022-01-25
  • 2021-05-29
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-08
  • 2022-12-23
  • 2021-05-17
相关资源
相似解决方案