21xrx.com
2025-04-01 12:43:37 Tuesday
文章检索 我的文章 写文章
C++重载运算符实现复数加减
2023-07-04 21:13:55 深夜i     18     0
C++ 重载运算符 复数加减

C++语言中的重载运算符可以实现复数加减。复数是由实数和虚数组成的数,可表示为 a+bi,其中 a 是实数,b 是虚数,i 是虚数单位。

重载运算符可以使得编程更加简单、直观,同时也可以提高程序的效率和可读性。在C++中,重载运算符使得程序员能够定义类的操作符,使得其具有类似于内置类型的行为。

C++重载运算符的具体实现步骤如下:

1. 定义一个复数类,包含实部和虚部。

2. 重载加法和减法运算符,使得它们可以对复数进行加减操作。

3. 在运算符函数中实现复数加减的逻辑。

下面是一个实现复数加减的示例程序:

#include <iostream>
using namespace std;
class Complex {
public:
  Complex(double r = 0, double i = 0) : real(r), imag(i) {};
  Complex operator+(const Complex &c) const {
    return Complex(this->real+c.real, this->imag+c.imag);
  }
  Complex operator-(const Complex &c) const {
    return Complex(this->real-c.real, this->imag-c.imag);
  }
  void print() const {
    cout << real << "+" << imag << "i" << endl;
  }
private:
  double real;
  double imag;
};
int main() {
  Complex c1(1.0, 2.0);
  Complex c2(3.0, 4.0);
  Complex c3 = c1 + c2;
  Complex c4 = c1 - c2;
  c1.print();
  c2.print();
  c3.print();
  c4.print();
  return 0;
}

在这个程序中,我们定义了一个叫做 Complex 的类,它包含了实部和虚部两个成员变量。

在类中,我们重载了加法和减法运算符,使其可以对复数进行加减运算。

在运算符重载函数中,我们实现了对复数进行加减的逻辑,并返回一个新的复数对象,以表示加减的结果。

最后,在 main 函数中,我们创建了两个复数对象 c1 和 c2,并使用加号和减号对它们进行加减操作。我们还将加减的结果存到了 c3 和 c4 中,并通过 print 函数将复数对象的实部和虚部打印出来。

通过这个程序的运行结果,我们可以看到 c3 和 c4 的值分别为 4+6i 和 -2-2i,即 c1 和 c2 的加减结果。这就是通过重载运算符实现复数加减的基本流程。

  
  

评论区

    相似文章