complex<long double>
Beschreibt ein Objekt, das ein Paar geordnetes beide Objekte des Typs long double speichert, das erste, den reellen eine komplexe Zahl vertretend und das zweite, den imaginären Teil vertretend.
template<>
class complex<long double> {
public:
complex(
long double _RealVal = 0,
long double _ImagVal = 0
);
complex(
const complex<long double>& _ComplexNum
);
// rest same as template class complex
};
Parameter
_RealVal
Der Wert des long double - Typs für den reellen der komplexen Zahl, die erstellt wird._ImagVal
Der Wert vom Typ long double für den imaginären Teil der komplexen Zahl, die erstellt wird._ComplexNum
Die komplexe Zahl des Typs double oder des Typs float, dessen tatsächlich und imaginäre Teile verwendet werden, um eine komplexe Zahl Typ long double zu initialisieren, das erstellt wird.
Rückgabewert
Eine komplexe Zahl Typ long double.
Hinweise
Die explizite Spezialisierung des Vorlagenklassenkomplexes zu einer komplexen Klasse Typ long double unterscheidet sich von der Vorlagenklasse nur in den Konstruktoren, die sie definiert. Der Konvertierung von long double in float ist zulässig, um implizit sein, sondern die Konvertierung von double zu long double ist 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_ld.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 <long double> c1 ( 4.0 , 5.0 );
cout << "Specifying initial real & imaginary parts,\n"
<< " as type float 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 ( 1.0 , 3.0 );
complex <long double> c2longdouble ( c2float );
cout << "Implicit conversion from type float to type long double,"
<< "\n gives c2longdouble = " << c2longdouble << endl;
// The third constructor initializes values of the real &
// imaginary parts using those of a complex number
// of type double
complex <double> c3double ( 3.0 , 4.0 );
complex <long double> c3longdouble ( c3double );
cout << "Implicit conversion from type long double to type float,"
<< "\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