complex::operator+=

Adds a number to a target complex number, where the number added may be complex or of the same type as are the real and imaginary parts of the complex number to which it is added.

template<class Other>
   complex<Type>& operator+=(
      const complex<Other>& _Right
   );
complex<Type>& operator+=(
      const Type& _Right
   );
complex<Type>& operator+=(
      const complex<Type>& _Right
   );

Parameters

  • _Right
    A complex number or a number that is of the same type as the parameter of the target complex number.

Return Value

A complex number that has had the number specified as a parameter added.

Remarks

The operation is overloaded so that simple arithmetic operations can be executed without the conversion of the data to a particular format.

Example

// complex_op_pe.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> added to type complex<double>
   complex <double> cl1 ( 3.0 , 4.0 );
   complex <double> cr1 ( 2.0 , -1.0 );
   cout << "The left-side complex number is cl1 = " << cl1 << endl;
   cout << "The right-side complex number is cr1 = " << cr1 << endl;

   complex <double> cs1 = cl1 + cr1;
   cout << "The sum of the two complex numbers is: cs1 = cl1 + cr1 = "
        << cs1 << endl;

   // This is equivalent to the following operation
   cl1 += cr1;
   cout << "The complex number cr1 added to the complex number cl1 is:"
        << "\n cl1 += cr1 = " << cl1 << endl;

   double abscl1 = abs ( cl1 );
   double argcl1 = arg ( cl1 );
   cout << "The modulus of cl1 is: " << abscl1 << endl;
   cout << "The argument of cl1 is: "<< argcl1 << " radians, which is " 
        << argcl1 * 180 / pi << " degrees." << endl << endl; 

   // Example of the second member function
   // type double added to type complex<double>
   complex <double> cl2 ( -2 , 4 );
   double cr2 =5.0;
   cout << "The left-side complex number is cl2 = " << cl2 << endl;
   cout << "The right-side complex number is cr2 = " << cr2 << endl;

   complex <double> cs2 = cl2 + cr2;
   cout << "The sum of the two complex numbers is: cs2 = cl2 + cr2 = " 
        << cs2 << endl;

   // This is equivalent to the following operation
   cl2 += cr2;
   cout << "The complex number cr2 added to the complex number cl2 is:"
        << "\n cl2 += cr2 = " << cl2 << endl;

   double abscl2 = abs ( cl2 );
   double argcl2 = arg ( cl2 );
   cout << "The modulus of cl2 is: " << abscl2 << endl;
   cout << "The argument of cl2 is: "<< argcl2 << " radians, which is " 
        << argcl2 * 180 / pi << " degrees." << endl << endl;
}

The left-side complex number is cl1 = (3,4) The right-side complex number is cr1 = (2,-1) The sum of the two complex numbers is: cs1 = cl1 + cr1 = (5,3) The complex number cr1 added to the complex number cl1 is: cl1 += cr1 = (5,3) The modulus of cl1 is: 5.83095 The argument of cl1 is: 0.54042 radians, which is 30.9638 degrees. The left-side complex number is cl2 = (-2,4) The right-side complex number is cr2 = 5 The sum of the two complex numbers is: cs2 = cl2 + cr2 = (3,4) The complex number cr2 added to the complex number cl2 is: cl2 += cr2 = (3,4) The modulus of cl2 is: 5 The argument of cl2 is: 0.927295 radians, which is 53.1301 degrees.

Requirements

Header: <complex>

Namespace: std

See Also

Reference

complex Class

Other Resources

complex Members