operators

constexpr Complex &operator=(const Complex &z) noexcept

Sets a complex number equal to another complex number \(z\).

constexpr Complex &operator=(const double alpha) noexcept

Sets a complex number equal to a real number \(\alpha\).

constexpr Complex &operator+=(const Complex &z) noexcept

Compound assignment addition operator for a complex number \(z\).

constexpr Complex &operator-=(const Complex &z) noexcept

Compound assignment subtraction operator for a complex number \(z\).

constexpr Complex &operator*=(const Complex &z) noexcept

Compound assignment multiplication operator for a complex number \(z\).

constexpr Complex &operator/=(const Complex &z) noexcept

Compound assignment division operator for a complex number \(z\).

constexpr Complex &operator+=(const Complex &alpha) noexcept

Compound assignment addition operator for a real number \(\alpha\).

constexpr Complex &operator-=(const Complex &alpha) noexcept

Compound assignment subtraction operator for a real number \(\alpha\).

constexpr Complex &operator*=(const Complex &alpha) noexcept

Compound assignment multiplication operator for a real number \(\alpha\).

constexpr Complex &operator/=(const Complex &alpha) noexcept

Compound assignment division operator for a real number \(\alpha\).

Parameters

const Complex &z

A complex number.

const double alpha

A real number.

Returns

Complex&

The complex number *this.

This module defines 2 assignment operators and 8 compound assignment operators for complex addition, subtraction, multiplication, and division.

Example

Complex z = 3 + 4_j;
z += 2;
z /= 2_j;
z *= 2;
std::cout << z << "\n";

Output:

4 - 5j