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


#include <iostream>
#include <cmath>
using namespace std;

struct real_number {
    double value;
};

struct complex_number {
    double real_part;
    double imag_part;
};

class class_real {
private:
    real_number num;
public:
    class_real() {}
    class_real(real_number num) {
        this->num = num;
    }
    ~class_real() {}
    
    void num_out() {
        cout << "Value: " << num.value << endl;
    }
    
    double get_value() { return num.value; }
    void set_value(double value) { num.value = value; }
};

class class_complex : public class_real {
private:
    double imag_part;
public:
    class_complex(real_number num, double imag_part) : class_real(num) {
        this->imag_part = imag_part;
    }
    
    double get_imag() { return this->imag_part; }
    double get_module() { 
        return sqrt(get_value() * get_value() + imag_part * imag_part); 
    }
};

int main() {
    real_number r;
    r.value = 5.5;
    
    class_real real_obj(r);
    real_obj.num_out();
    
    class_complex complex_obj(r, 3.2);
    cout << "Real part: " << complex_obj.get_value() << endl;
    cout << "Imag part: " << complex_obj.get_imag() << endl;
    cout << "Module: " << complex_obj.get_module() << endl;
    
    return 0;
}