Сложение комплексных чисел в C++: различные методы сложения

Чтобы складывать комплексные числа в C++, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование перегрузки операторов

#include <iostream>
class Complex {
private:
    double real;
    double imaginary;
public:
    Complex(double r = 0.0, double i = 0.0) : real(r), imaginary(i) {}
    Complex operator+(const Complex& other) {
        Complex sum;
        sum.real = real + other.real;
        sum.imaginary = imaginary + other.imaginary;
        return sum;
    }
    void display() {
        std::cout << real << " + " << imaginary << "i" << std::endl;
    }
};
int main() {
    Complex num1(2.5, 3.7);
    Complex num2(1.8, 2.4);
    Complex sum = num1 + num2;
    sum.display();
    return 0;
}

Метод 2: использование функции

#include <iostream>
struct Complex {
    double real;
    double imaginary;
};
Complex addComplex(const Complex& num1, const Complex& num2) {
    Complex sum;
    sum.real = num1.real + num2.real;
    sum.imaginary = num1.imaginary + num2.imaginary;
    return sum;
}
int main() {
    Complex num1 = {2.5, 3.7};
    Complex num2 = {1.8, 2.4};
    Complex sum = addComplex(num1, num2);
    std::cout << sum.real << " + " << sum.imaginary << "i" << std::endl;
    return 0;
}

Метод 3. Использование структур и указателей

#include <iostream>
struct Complex {
    double real;
    double imaginary;
};
void addComplex(const Complex* num1, const Complex* num2, Complex* sum) {
    sum->real = num1->real + num2->real;
    sum->imaginary = num1->imaginary + num2->imaginary;
}
int main() {
    Complex num1 = {2.5, 3.7};
    Complex num2 = {1.8, 2.4};
    Complex sum;
    addComplex(&num1, &num2, &sum);
    std::cout << sum.real << " + " << sum.imaginary << "i" << std::endl;
    return 0;
}