Программирование >>  Операторы преобразования типа 

1 ... 164 165 166 [ 167 ] 168 169 170 ... 239


Глава 12. Числовыетипы

Таблица 12.5 (продолжение)

Выражение

Описание

1.7 + с

Возвращает сумму 1.7 и с

С1-С2

Возвращает разность с1 и с2

с-1.7

Возвращает разность с и 1.7

1.7-с

Возвращает разность 1.7 и с

с1*с2

Возвращает произведение с1 и с2

с* 1.7

Возвращает произведение с и 1.7

1.7* с

Возвращает произведение 1.7 и с

с1/с2

Возвращает частное от деления с1 на с2

с/1.7

Возвращает частное от деления с на 1.7

1.7/с

Возвращает частное от деления 1.7 на с

Возвращает значение с с обратным знаком

Возвращает с

с1 += с2

Эквивалент с1 = с1 + с2

с1 -= с2

Эквивалент с1 = с1 - с2

с1 *= с2

Эквивалент с1 = с1 * с2

с1 /= с2

Эквивалент с1 = с1 / с2

Операции ввода-вывода

в классе complex определены стандартные операторы ввода-вывода << и >> (табл. 12.6).

Таблица 12.6. Операции ввода-вывода класса complexo Выражение Описание

strm << с Записывает комплексное число с в выходной поток данных strm

strm >> с Читает комппексное число с из входного потока данных strm

Оператор выводит комплексное число в поток данных в следующем формате;

{вещественная чдсть . мнимая часть)

Эквивалентная реализация оператора вывода выглядит так:

template <class Т. class charT, class traits> std;;bas1c ostream<charT.traits>& operator (std::basic ostream<charT.traits>& strm. const std;:complex<T> c)

Временная строка для выполнения вывода с одним аргументом std:;bas1c 05tringstream<charT.traits> s:



s.flagsCstrm.flagsO): Копирование флагов потока

s.1mbue(strm.getloc()): Копирование локального контеста потока

s.prec1s1on(strm.prec1sion()): Копирование точности потока

Подготовка итоговой строки

S ( с.real о . c.imagO );

Вывод итоговой строки strm s.strO:

return strm:

Оператор ввода читает комплексные числа в одном из представленных ниже форматов:

{веществеиндя насть. мнинзяасть) (вещественная насть ) вещественная часть

Если очередные символы во входном потоке данных не соответствуют ни одному из перечисленных форматов, устанавливается флаг ios::failbit, что может привести к соответствующему исключению (см. с. 576).

К сожалению, вы не можете задать собственный разделитель для вещественной и мнимой частей комплексного числа. А это означает, что при использовании запятой в качестве десятичной точкий (как, например, в Германии или России) вводимые/выводимые данные выгл51дят довольно странно. Например, комплексное число с вещественной частью 4.6 и мнимой частью 2.7 записывается в виде:

(4.6.2.7)

Пример использования операций ввода-вывода приведен на с. 512.

Трансцендентные функции

в табл. 12.7 перечислены трансцендентные функции (тригонометрия, возведение в степень и т. д.) класса complex.

Таблице 12.7. Трансцендентные функции класса complexo

Выражение

Описание

pow(c,3)

Комплексное возведение в степень: с

pow(c,1.7)

Комплексное возведение в степень: с

pow(cl,c2)

Комплексное возведение в степень: cl*

pow(1.7,c)

Комплексное возведение в степень; 1.7

exp(c)

Возведение в степень по основанию е: е*

sqrt(c)

Квадратный корень из с {fc)

log(c)

Комплексный натуральный логарифм с (In с)

log 10(c)

Комплексный десятичный логарифм с (Ig с)



Глава 12. Числовыетипы

Таблица 12.7 (продолжение)

Выражение

Описание

sin(c)

Синус с (sin с)

cos(c)

Косинус с (cos с)

tan(c)

Тангенс с (tan с)

sinh(c)

Гиперболический синус с (sinh с)

cosh (с)

Гиперболический косинус с (cosh с)

tanh(c)

Гиперболический тангенс с (tanh с)

Строение класса complex

Здесь приведены подробные описания всех операций класса complexo. Обозначение Т задает параметр шаблона класса complexo, то есть тип вещественной и мнимой частей значения complex.

Определения типов

complex: .value type

Тип вещественной и мнимой частей.

Операции создания, копирования и присваивания

complex::complex О

О Конструктор по умолчанию.

О Создает комплексное значение, в котором вещественная и мнимая части Инициализируются вызовом конструкторов по умолчанию (О для базовых типов данных). Это означает, что для базовых типов данных исходные значения вещественной и мнимой частей равны О (инициализация по умолчанию для базовых типов описана на с. 30).

complex: :com\)ex (const Т& re)

О Создает комплексное значение, в котором вещественная часть равна re, а мнимая часть инициализируется вызовом конструктора по умолчанию (О для базовых типов данных).

О Конструктор также определяет автоматическое преобразование типа Т в complex

comp/ех::complex (const Т& re. const Т& im)

Создает комплексное значение, в котором вещественная и мнимая части равны соответственно re и im,

complex polar (const Т& rho)

complex polar (const T& rho. const T& theta)

О Обе формы создают и возвращают комплексное число, инициализированное в полярных координатах.



1 ... 164 165 166 [ 167 ] 168 169 170 ... 239

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика