C++中的复数

在本节中,我们将看到如何在 C++ 中创建和使用复数。我们可以在 C++ 中创建复数类,它可以将复数的实部和虚部作为成员元素。会有一些成员函数用来处理这个类。

在这个例子中,我们创建了一个复杂类型类,一个将复数显示为正确格式的函数。两个额外的方法来加减两个复数等。

示例

#include<iostream>
using namespace std;
class complex {
   int real, img;
   public:
      complex() {
         //将复数初始化为 0+0i 的默认构造函数
         real = 0; img = 0;
      }
      complex(int r, int i) {
         //参数化构造函数来初始化复数。
         real = r; img = i;
      }
      void set();
      void get();
      void display();
      friend complex add(complex, complex);
      friend complex sub(complex, complex);
};
void complex::set() {
   cout << "输入实数部分: ";
   cin >> real;
   cout << "输入虚部: ";
   cin >> img;
}
void complex::get() {
   cout << "复数是: "<< real << "+" << img << "i" << endl;
}
void complex::display() {
   if(img < 0)
      if(img == -1)
         cout << "复数是: "<< real << "-i" << endl;
      else
         cout << "复数是: "<< real << img << "i" << endl;
      else
         if(img == 1)
            cout << "复数是: "<< real << " + i"<< endl;
         else
            cout << "复数是: "<< real << " + " << img << "i" <<
   endl;
}
complex add(complex c1, complex c2) {
   complex res;
   res.real = c1.real + c2.real;//实部加法
   res.img = c1.img + c2.img;//虚部加法
   return res;//添加后的结果
}
complex sub(complex c1, complex c2) {
   complex res;
   res.real = c1.real - c2.real;//实部减法
   res.img = c1.img - c2.img;//虚部减法
   return res;//减法后的结果
}
main() {
   complex n1(3, 2), n2(4, -3);
   complex result;
   result = add(n1,n2);
   result.display();
   result = sub(n1,n2);
   result.display();
}
输出结果
复数是: 7-i
复数是: -1 + 5i