21xrx.com
2024-12-23 03:39:32 Monday
登录
文章检索 我的文章 写文章
C++中如何定义复数类Complex
2023-06-26 17:15:39 深夜i     --     --
C++ 定义 复数类 Complex

C++是一种面向对象的编程语言,可以轻松地定义和使用各种自定义数据类型。在数学运算中,复数是很重要的一个概念,它有实数部分和虚数部分组成。在C++中,我们可以定义一个复数类Complex,用于表示复数。

复数类Complex的定义可以采用以下方式:


class Complex {

 private:

  double real;  // 实数部分

  double imag;  // 虚数部分

 public:

  Complex(double r = 0, double i = 0)

    real = r;

    imag = i;

  

  Complex operator+(const Complex& c) {

    Complex res(real + c.real, imag + c.imag);

    return res;

  }

  Complex operator-(const Complex& c) {

    Complex res(real - c.real, imag - c.imag);

    return res;

  }

  Complex operator*(const Complex& c) {

    Complex res(real*c.real - imag*c.imag, real*c.imag + imag*c.real);

    return res;

  }

  Complex operator/(const Complex& c) {

    double denominator = c.real*c.real + c.imag*c.imag;

    Complex res((real*c.real + imag*c.imag) / denominator, (imag*c.real - real*c.imag) / denominator);

    return res;

  }

  void print() {

    std::cout << "( " << real << " + " << imag << "i )" << std::endl;

  }

};

在上面的定义中,我们定义了一个名为“Complex”的类,它包含了实数部分和虚数部分两个成员变量。构造函数是用来初始化对象的,我们可以传递实数和虚数两个参数进行初始化。此外,我们还定义了加减乘除四个运算符,用于实现复数的四则运算。print()函数用来打印出对象的值。

使用复数类Complex进行运算十分简单:


Complex a(1, 2);

Complex b(2, -1);

Complex c = a + b;

c.print(); // ( 3 + 1i )

Complex d = a * b;

d.print(); // ( 4 + 3i )

上面的例子中,我们定义了两个复数a和b,并使用加法和乘法运算符计算出c和d的值,最后打印出来。可以看出,使用复数类Complex进行复数运算比较方便和直观。

总之,C++中定义自己的数据类型是非常有用的,而复数类Complex是其中一个很好的例子。通过定义一个复数类,我们可以方便地进行复数运算,提高代码的可读性和效率。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复