21xrx.com
2024-11-05 20:44:22 Tuesday
登录
文章检索 我的文章 写文章
C++实现复数类
2023-07-12 21:08:53 深夜i     --     --
C++ 复数类 实现

在数学中,复数是由实部和虚部组成的数,其中虚部是一个带有“i”(或“j”)的实值。

C++语言是一种非常适合进行复数计算的编程语言,因为它提供了足够的功能和工具来处理复杂的数学运算。因此,实现一个C++复数类是非常简单的。

下面是一个基本的C++复数类:


class Complex {

public:

  Complex(double r = 0, double i = 0) : re(r), im(i) {}

  Complex operator+(const Complex& other) const {

    return Complex(re + other.re, im + other.im);

  }

  Complex operator-(const Complex& other) const {

    return Complex(re - other.re, im - other.im);

  }

  Complex operator*(const Complex& other) const {

    return Complex(re * other.re - im * other.im, re * other.im + im * other.re);

  }

  Complex operator/(const Complex& other) const {

    double denom = other.re * other.re + other.im * other.im;

    return Complex((re * other.re + im * other.im) / denom, (im * other.re - re * other.im) / denom);

  }

  bool operator==(const Complex& other) const {

    return (re == other.re && im == other.im);

  }

  bool operator!=(const Complex& other) const {

    return !(*this == other);

  }

private:

  double re;  // Real part

  double im;  // Imaginary part

};

该类实现了四个基本的运算(加、减、乘、除)以及相等和不等运算符。除此之外,还可以添加其他基本的操作,例如一些函数(例如模数、幅度等)和转换运算符。

现在,您可以实例化一个Complex对象并使用操作来执行算术运算。例如,下面的代码将创建两个复数,并将它们相加:


Complex c1(1, 2);  // 1 + 2i

Complex c2(2, -3); // 2 - 3i

Complex result = c1 + c2;

这将创建一个名为result的新复数对象,其实部为3,虚部为-1。

总之,实现一个C++复数类非常容易,而且可以使您的代码更加模块化和易于维护。因此,可以在需要处理复杂数学计算的任何项目中使用此类。

  
  

评论区

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