3.11. Класс complex

3.11. Класс complex

Класс комплексных чисел complex – еще один класс из стандартной библиотеки. Как обычно, для его использования нужно включить заголовочный файл:

#include complex

Комплексное число состоит из двух частей – вещественной и мнимой. Мнимая часть представляет собой квадратный корень из отрицательного числа. Комплексное число принято записывать в виде

2 + 3i

где 2 – действительная часть, а 3i – мнимая. Вот примеры определений объектов типа complex:

// чисто мнимое число: 0 + 7-i

complex double purei( 0, 7 );

// мнимая часть равна 0: 3 + Oi

complex float rea1_num( 3 );

// и вещественная, и мнимая часть равны 0: 0 + 0-i

complex long double zero;

// инициализация одного комплексного числа другим

complex double purei2( purei );

Поскольку complex, как и vector, является шаблоном, мы можем конкретизировать его типами float, double и long double, как в приведенных примерах. Можно также определить массив элементов типа complex:

complex double conjugate[ 2 ] = {

complex double ( 2, 3 ),

complex double ( 2, -3 )

};

Вот как определяются указатель и ссылка на комплексное число:

complex double *ptr = conjugate[0];

complex double ref = *ptr;

Комплексные числа можно складывать, вычитать, умножать, делить, сравнивать, получать значения вещественной и мнимой части. (Более подробно мы будем говорить о классе complex в разделе 4.6.)