다음을 통해 공유


complex::complex

지정된 실수 및 허수 부분을 사용하거나 다른 복소수의 복사본으로 복소수를 생성합니다.

constexpr complex( 
    const T& RealVal = 0,  
    const T& ImagVal = 0 
); 

constexpr complex( const complex& ); 

template<class Other> 
   constexpr complex( 
      const complex<Other>& ComplexNum 
   );

매개 변수

  • RealVal
    생성되고 있는 복소수를 초기화하는데 사용되는 실수 부분의 값입니다.

  • ImagVal
    생성되고 있는 복소수를 초기화하는데 사용되는 허수 부분의 값입니다.

  • ComplexNum
    해당 실수 및 허수 부분이 생성되고 있는 복소수를 초기화하는데 사용되는 복소수입니다.

설명

첫 번째 생성자는 저장된 실수 부분을 RealVal로, 저장된 허수 부분을 Imagval로 초기화합니다. 두 번째 생성자는 저장된 실수 부분을 ComplexNum**.real**(), 저장된 허수 부분을 ComplexNum**.imag**()로 초기화합니다.

이 구현에서 변환기가 멤버 템플릿 함수를 지원하지 않는 경우는 결과는 다음과 같습니다.

template<class Other>
   complex(const complex<Other>& right);

위 템플릿이 아래 템플릿으로 바뀝니다.

complex(const complex& right);

위 템플릿은 복사 생성자입니다.

예제

// 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;
}

출력

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.

요구 사항

헤더: <complex>

네임스페이스: std

참고 항목

참조

complex 클래스