operator* (<complex>)

相乘两个复数,或者这两者可能属于类型子集物理和虚部的集合。

template<class Type> 
   complex<Type> operator*( 
      const complex<Type>& _Left, 
      const complex<Type>& _Right 
   ); 
template<class Type> 
   complex<Type> operator*( 
      const complex<Type>& _Left, 
      const Type& _Right 
   ); 
template<class Type> 
   complex<Type> operator*( 
      const Type& _Left, 
      const complex<Type>& _Right 
   );

参数

  • _Left
    是它的参数类型将乘以的第一个复数或数字*操作。

  • _Right
    是它的参数类型将乘以的第二个复数或数字*操作。

返回值

由两个数字相乘值和类型由参数指定的复数输入。

备注

重载以便操作,简单算术操作来执行,而无需转换为特定数据的格式。

示例

// complex_op_mult.cpp
// compile with: /EHsc
#include <complex>
#include <iostream>

int main( )
{
   using namespace std;
   double pi = 3.14159265359;

   // Example of the first member function
   // type complex<double> times type complex<double>
   complex <double> cl1 ( polar (3.0 , pi / 6 ) );
   complex <double> cr1 ( polar (2.0 , pi / 3 ) );
   complex <double> cs1 = cl1 * cr1;

   cout << "The left-side complex number is cl1 = " << cl1 << endl;
   cout << "The right-side complex number is cr1 = " << cr1 << endl;
   cout << "Product of two complex numbers is: cs1 = " << cs1 << endl;
   double abscs1 = abs ( cs1 );
   double argcs1 = arg ( cs1 );
   cout << "The modulus of cs1 is: " << abscs1 << endl;
   cout << "The argument of cs1 is: "<< argcs1 << " radians, which is "
        << argcs1 * 180 / pi << " degrees." << endl << endl;

   // Example of the second member function
   // type complex<double> times type double
   complex <double> cl2 ( polar ( 3.0 , pi / 6 ) );
   double cr2 =5;
   complex <double> cs2 = cl2 * cr2;

   cout << "The left-side complex number is cl2 = " << cl2 << endl;
   cout << "The right-side complex number is cr2 = " << cr2 << endl;
   cout << "Product of two complex numbers is: cs2 = " << cs2 << endl;
   double abscs2 = abs ( cs2 );
   double argcs2 = arg ( cs2 );
   cout << "The modulus of cs2 is: " << abscs2 << endl;
   cout << "The argument of cs2 is: "<< argcs2 << " radians, which is "
        << argcs2 * 180 / pi << " degrees." << endl << endl;

   // Example of the third member function
   // type double times type complex<double>
   double cl3 = 5;
   complex <double> cr3 ( polar (3.0 , pi / 6 ) );
   complex <double> cs3 = cl3 * cr3;

   cout << "The left-side complex number is cl3 = " << cl3 << endl;
   cout << "The right-side complex number is cr3 = " << cr3 << endl;
   cout << "Product of two complex numbers is: cs3 = " << cs3 << endl;
   double abscs3 = abs ( cs3 );
   double argcs3 = arg ( cs3 );
   cout << "The modulus of cs3 is: " << abscs3 << endl;
   cout << "The argument of cs3 is: "<< argcs3 << " radians, which is "
        << argcs3 * 180 / pi << " degrees." << endl << endl;
}

示例输出

on x86 下面的输出。

The left-side complex number is cl1 = (2.59808,1.5)
The right-side complex number is cr1 = (1,1.73205)
Product of two complex numbers is: cs1 = (-6.20837e-013,6)
The modulus of cs1 is: 6
The argument of cs1 is: 1.5708 radians, which is 90 degrees.

The left-side complex number is cl2 = (2.59808,1.5)
The right-side complex number is cr2 = 5
Product of two complex numbers is: cs2 = (12.9904,7.5)
The modulus of cs2 is: 15
The argument of cs2 is: 0.523599 radians, which is 30 degrees.

The left-side complex number is cl3 = 5
The right-side complex number is cr3 = (2.59808,1.5)
Product of two complex numbers is: cs3 = (12.9904,7.5)
The modulus of cs3 is: 15
The argument of cs3 is: 0.523599 radians, which is 30 degrees.

要求

复杂页眉: <>

命名空间: std