重载加法运算符以将两个复数相加的 C++ 程序

假设我们有一个带有实部和虚部的复数类。我们必须重载加法 (+) 运算符才能将两个复数相加。我们还必须定义一个函数来以正确的表示形式返回复数。

所以,如果输入像 c1 = 8 - 5i, c2 = 2 + 3i,那么输出将是 10 - 2i。

示例

让我们看看以下实现以获得更好的理解 -

#include <iostream>

#include <sstream>

#include <cmath>

using namespace std;

class Complex {

    private:

        int real, imag;

    public:

    Complex(){

        real = imag = 0;    

    }

    Complex (int r, int i){

        real = r;

        imag = i;

    }

    string to_string(){

        stringstream ss;

        if(imag >= 0)

            ss << "(" << real << " + " << imag << "i)";

        else

            ss << "(" << real << " - " << abs(imag) << "i)";

        return ss.str();

    }

    Complex operator+(Complex c2){

        Complex ret;

       ret.real= real + c2.real;

       ret.imag= imag + c2.imag;

        return ret;

    }

};

int main(){

    Complex c1(8,-5), c2(2,3);

    Complex res = c1 + c2;

    cout << res.to_string();

}

输入

c1(8,-5), c2(2,3)
输出结果
(10 - 2i)

以上是 重载加法运算符以将两个复数相加的 C++ 程序 的全部内容, 来源链接: utcz.com/z/345737.html

回到顶部