21xrx.com
2025-07-15 21:31:03 Tuesday
文章检索 我的文章 写文章
C++中如何定义复数类Complex
2023-06-26 17:15:39 深夜i     46     0
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是其中一个很好的例子。通过定义一个复数类,我们可以方便地进行复数运算,提高代码的可读性和效率。

  
  

评论区