Загрузка данных


#include <iostream>

class complex {
    double re, im;

public:
    // Конструктор для инициализации (по умолчанию нулями)
    complex(double r = 0.0, double i = 0.0) : re(r), im(i) {}

    // Методы доступа, возвращающие ссылки (позволяют присваивание)
    double & real() { return re; }
    double & imag() { return im; }

    // Константные методы доступа (для удобства чтения данных)
    double real() const { return re; }
    double imag() const { return im; }
};

// Перегрузка оператора сложения
complex operator + (complex a, complex b) {
    complex result;
    // Используем методы доступа для записи результата
    result.real() = a.real() + b.real();
    result.imag() = a.imag() + b.imag();
    return result;
}

int main() {
    // Пример использования
    complex c1(3.5, 2.5);
    complex c2(1.5, 4.5);

    complex sum = c1 + c2;

    std::cout << "Result: " << sum.real() << " + " << sum.imag() << "i" << std::endl;

    return 0;
}