complex<double>
Beschreibt ein Objekt, das ein Paar geordnetes beide Objekte des Typs double speichert , das erste, den reellen eine komplexe Zahl vertretend und das zweite, den imaginären Teil vertretend.
template<>
class complex<double> {
public:
complex(
double _RealVal = 0,
double _ImagVal = 0
);
complex(
const complex<double>& _ComplexNum
);
explicit complex(
const complex<long double>& _ComplexNum
);
// rest same as template class complex
};
Parameter
_RealVal
Der Wert des double-Typs für den reellen der komplexen Zahl, die erstellt wird._ImagVal
Der Wert des double-Typs für den imaginären Teil der komplexen Zahl, die erstellt wird._ComplexNum
Die komplexe Zahl vom Typ float oder vom Typ long double, dessen tatsächlich und imaginäre Teile verwendet werden, um eine komplexe Zahl Typ double initialisieren, das erstellt wird.
Rückgabewert
Eine komplexe Zahl Typ double.
Hinweise
Die explizite Spezialisierung des Vorlagenklassenkomplexes zu einer komplexen Klasse Typ double Abweichung zur Vorlagenklasse nur in den Konstruktoren, die sie definiert. Der Konvertierung von float in double ist zulässig, um implizit sein, sondern die Konvertierung von long double in double erforderlich, explicit sind. Die Verwendung von explicit werden Konturen die Initiierung mit Typkonvertierung mit der Zuweisungssyntax durch.
Weitere Informationen zur Vorlagenklasse complex, finden Sie unter complex-Klasse. Eine Liste der Member der Vorlagenklasse complex, finden Sie unter komplexe Member.
Beispiel
// complex_comp_dbl.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,\n"
<< " as type double gives c1 = " << c1 << endl;
// The second constructor initializes values of the real &
// imaginary parts using those of complex number of type float
complex <float> c2float ( 4.0 , 5.0 );
complex <double> c2double ( c2float );
cout << "Implicit conversion from type float to type double,"
<< "\n gives c2double = " << c2double << endl;
// The third constructor initializes values of the real &
// imaginary parts using those of a complex number
// of type long double
complex <long double> c3longdouble ( 4.0 , 5.0 );
complex <double> c3double ( c3longdouble );
cout << "Explicit conversion from type float to type double,"
<< "\n gives c3longdouble = " << c3longdouble << endl;
// The modulus and argument of a complex number can be recovered
double absc3 = abs ( c3longdouble );
double argc3 = arg ( c3longdouble );
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;
}
Anforderungen
Header: <komplex>
Namespace: std
Siehe auch
Referenz
Threadsicherheit in der C++-Standardbibliothek