complex::complex
Construye un número complejo con partes reales e imaginarias especificados o como una copia de otro número complejo.
constexpr complex(
const T& RealVal = 0,
const T& ImagVal = 0
);
constexpr complex( const complex& );
template<class Other>
constexpr complex(
const complex<Other>& ComplexNum
);
Parámetros
RealVal
El valor de la parte real que se usa para inicializar el número complejo que se está construyendo.ImagVal
El valor de la parte imaginaria que se usa para inicializar el número complejo que se está construyendo.ComplexNum
Número complejo cuyas partes reales e imaginarias se utilizan para inicializar el número complejo que se está construyendo.
Comentarios
El primer constructor inicializa la parte real almacenada en RealVal y la parte imaginaria almacenada en Imagval. El segundo constructor inicializa la parte real almacenada en ComplexNum**.real**() y la parte imaginaria almacenada en ComplexNum**.imag**().
En esta implementación, si un En esta implementación, si un traductor no admite las funciones miembro de plantilla, la plantilla:
template<class Other>
complex(const complex<Other>& right);
se reemplaza por:
complex(const complex& right);
que es el constructor de copias.
Ejemplo
// complex_complex.cpp
// compile with: /EHsc
#include <complex>
#include <iostream>
int main( )
{
using namespace std;
double pi = 3.14159265359;
// The first constructor specifies real & imaginary parts
complex <double> c1 ( 4.0 , 5.0 );
cout << "Specifying initial real & imaginary parts,"
<< "c1 = " << c1 << endl;
// The second constructor initializes values of the real &
// imaginary parts using those of another complex number
complex <double> c2 ( c1 );
cout << "Initializing with the real and imaginary parts of c1,"
<< " c2 = " << c2 << endl;
// Complex numbers can be initialized in polar form
// but will be stored in Cartesian form
complex <double> c3 ( polar ( sqrt( (double)8 ) , pi / 4 ) );
cout << "c3 = polar ( sqrt ( 8 ) , pi / 4 ) = " << c3 << endl;
// The modulus and argument of a complex number can be recovered
double absc3 = abs ( c3 );
double argc3 = arg ( c3 );
cout << "The modulus of c3 is recovered from c3 using: abs ( c3 ) = "
<< absc3 << endl;
cout << "Argument of c3 is recovered from c3 using:\n arg ( c3 ) = "
<< argc3 << " radians, which is " << argc3 * 180 / pi
<< " degrees." << endl;
}
Resultados
Specifying initial real & imaginary parts,c1 = (4,5)
Initializing with the real and imaginary parts of c1, c2 = (4,5)
c3 = polar ( sqrt ( 8 ) , pi / 4 ) = (2,2)
The modulus of c3 is recovered from c3 using: abs ( c3 ) = 2.82843
Argument of c3 is recovered from c3 using:
arg ( c3 ) = 0.785398 radians, which is 45 degrees.
Requisitos
Encabezado: <complex>
Espacio de nombres: std