Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt eine komplexe Zahl mit dem angegebenen wirklichem und imaginären Teilen oder als Kopie einer anderen komplexer Zahl.
complex(
const Type& _RealVal = 0,
const Type& _ImagVal = 0
);
template<class Other>
complex(
const complex<Other>& _ComplexNum
);
Parameter
_RealVal
Der Wert des Realteils verwendet, um die komplexe Zahl zu initialisieren, die erstellt wird._ImagVal
Der Wert des imaginären Teils verwendet, um die komplexe Zahl zu initialisieren, die erstellt wird._ComplexNum
Die komplexe Zahl, deren tatsächlich und imaginäre Teile verwendet werden, um die komplexe Zahl zu initialisieren, die erstellt wird.
Hinweise
Der erste Konstruktor initialisiert den gespeicherten Realteil zu _RealVal und den gespeicherten imaginären Teil zu _Imagval.Der zweite Konstruktor initialisiert den gespeicherten Realteil zu _ComplexNum**.real**() und der gespeicherte imaginäre Teil zu _ComplexNum**.imag**().
In dieser Implementierung wenn ein Übersetzer nicht Membervorlagenfunktionen unterstützt, die Vorlage:
template<class Other>
complex(const complex<Other>& right);
wird durch ersetzt:
complex(const complex& right);
welches der Kopierkonstruktor ist.
Beispiel
// 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;
}
Output
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.
Anforderungen
Header: <complex>
Namespace: std