Реалізувати мовою С++ клас Complex для представлення комплексного числа: дві внутрішні змінні (a, b) типу float, які визначають комплексне число в алгебраїчній формі: z = a + bi; два конструктори класу; методи доступу до внутрішніх змінних класів GetA(), GetB(), SetA(), SetB(); операторні функції: копіювання комплексних чисел operator=(), додавання комплексних чисел operator+(), віднімання комплексних чисел operator-(), множення комплексних чисел operator*(), поділу комплексних чисел operator/()
Ответы
class Complex
{
private:
float a, b; // internal variables for the complex number in the form a + bi
public:
// Constructors
Complex() { a = 0; b = 0; } // default constructor
Complex(float a_, float b_) { a = a_; b = b_; } // constructor with parameters
// Accessor methods
float GetA() { return a; }
float GetB() { return b; }
void SetA(float a_) { a = a_; }
void SetB(float b_) { b = b_; }
// Operator overloads
Complex operator=(const Complex &other) // copy assignment operator
{
a = other.a;
b = other.b;
return *this;
}
Complex operator+(const Complex &other) // addition operator
{
return Complex(a + other.a, b + other.b);
}
Complex operator-(const Complex &other) // subtraction operator
{
return Complex(a - other.a, b - other.b);
}
Complex operator*(const Complex &other) // multiplication operator
{
return Complex(a*other.a - b*other.b, a*other.b + b*other.a);
}
Complex operator/(const Complex &other) // division operator
{
float divisor = other.a*other.a + other.b*other.b;
return Complex((a*other.a + b*other.b)/divisor, (b*other.a - a*other.b)/divisor);
}
};
https://pastebin.com/JtWm6xZx