Главная->Інформатика та програмування->Содержание->Арифметические операции с присваиванием

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 2) онлайн

Арифметические операции с присваиванием

Язык C++ располагает средствами для того, чтобы сократить размер кода и сде- лать его наглядным. Одним из таких средств являются арифметические опера- ции с присваиванием. Они помогают придать характерный вид программному ко- ду в стиле C++.

В большинстве языков программирования типичным является оператор, по- добный

total = total + item; // сложение total и item

В данном случае вы производите сложение с замещением уже существующего значения одного из слагаемых. Но такая форма оператора не отличается кратко-

стью, поскольку нам приходится дважды использовать в нем имя total. В C++ существует способ сократить подобные операторы, применяя арифметические операции с присваиванием. Такие операции комбинируют арифметическую опе- рацию и операцию присваивания, тем самым исключая необходимость использо- вания имени переменной дважды. Предыдущий оператор можно записать с по- мощью сложения с присваиванием следующим образом:

total += item; // сложение total и item

На рис. 2.10 продемонстрирована эквивалентность указанных двух опера- торов.

С присваиванием комбинируется не только операция сложения, но и другие арифметические операции: -=, *=, /=, %= и т. д. Следующий пример демонстри- рует использование арифметических операций с присваиванием:

// assign.cpp

// применение арифметических операций с присваиванием #include  <iostream> using namespace std;

int main() {

int ans = 27;

ans += 10;           // то же самое, что ans = ans +10;

cout << ans << ", ";

ans -= 7;              // то же самое, что ans = ans -7;

cout << ans << ", ";

ans *= 2 ;            // то же самое, что ans = ans *2;

cout << ans << ", ";

ans /= 3;              // то же самое, что ans = ans /3;

cout << ans << ", ";

ans %= 3;            // то же самое, что ans = ans %3;

cout << ans << endl; return 0;

}

Результат работы такой программы будет следующим:

37, 30, 60, 20, 2

Использовать арифметические операции с присваиванием при программиро- вании не обязательно, но они являются довольно употребительными в C++, и мы будем пользоваться ими в других наших примерах.

Рис. 2.10. Операция арифметического присваивания

 

54