652_____________________________________________Глава

С описанным классом вы можете, например, выполнять такие действия:

Complex А(1,1), B(2,2),C,D;

А = -А;

С = А + В + В;

D = А - В;

А = В = С;

11.8 Операторы

11.8.1 Операторы передачи управления

11.8.1.1 Условные операторы выбора if

Оператор if предназначен для выполнения тех или иных действий в завист
сти от истинности или ложности некоторого условия. Условие задается выраже!
ем, имеющим результат булева типа.

Оператор имеет две формы: if и if...else. Форма if имеет вид:

if (условие) оператор;

Скобки, обрамляющие условие, обязательны.

Условием может быть выражение, преобразуемое в булев тип. Если уело!
истинно (возвращает true — ненулевое значение), то указанный в конструкции
оператор выполняется. В противном случае управление сразу передается следу
щему за конструкцией if оператору. Например, в результате выполнения опера
ров

С = А;

if (В > А) С = В;

переменная С станет равна максимальному из чисел А и В, поскольку оператор (
В будет выполнен только при В > А.

Поскольку в C++ арифметическое (целое или действительное) значение моя
преобразовываться к булеву (любое ненулевое значение воспринимается как tn
а нулевое — как false), то условие может иметь целый тип. Например:

int a, b, с;

if(а - b/c) ... ;

В данном случае условие if(a — b/c) эквивалентно if (а == b/c), поскольку а
b/c возвращает нуль при равенстве а и b/c. Аналогичные условия формально мо
но записывать и для действительных чисел:

double a, b, с;

if(а - b/c) . . . ;

Но из-за ошибок округления это может не сработать даже если теоретичес
значения а и b/c должны совпадать.                                     ,

Хороший стиль программирования

В условных операторах выбора можно сравнивать целые числа и записывать целые вь>|
жения. Но никогда не записывайте действительные выражения. Из-за ошибок округле)
результат их вычисления может не быть равным нулю, даже когда чисто теоретически ре
льтатдает нуль.                                                             j

В условии можно объявлять переменные. Например:

if (int v = func(a)) ...;