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

Полиморфизм и перегрузка.

Пользовательские типы данных.

Одним из достоинств объектов является то, что они дают пользователю возмож­ность создавать свои собственные типы данных. Например в случае если вам необ­ходимо работать с объектами, имеющими две координаты, например х и у. Вам хотелось бы совершать обычные арифметические операции над такими объекта­ми, например:

объект1=объект2+объект3

где переменные объект1, объект2 и объект3 представляют собой наборы из двух координат. Описав класс, включающий всебя пару координат, и объявив объек­ты этого класса с именами объект1, объект2 и объект3, мы фактически создадим новый тип данных

Обратите внимание на то, что операции присваивания и сложения для объектов пользовательских типов должны выполнять действия, отличающиеся от тех, которые они выполняют для переменных стандартных типов, например int. Как же операторы = и + распознают, какие действия необходимо совершить над операндами? Ответ на этот вопрос заключается в том, что мы сами можем задать эти действия, сделав нужные операторы методами класса объектов 1, 2 и 3.

Использование операций и функций различным образом в зависимости от того, с какими типами величин они работают, называется полиморфизмом. Когда существующая операция, например = или + наделяется возможностью совер­шать действия над операндами нового тина, говорят, что такая операция является перегруженной. Перегрузка представляет собой частный случай полиморфизма и является важным инструментом ООП.


4) Арифметические операции.

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

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

а = а + б // сложение переменной а с б

В данном случае вы производите сложение с замещением уже существующего значения одного из слагаемых. Но такая форма оператора не отличается краткостью, поскольку нам приходится дважды использовать в нем имя «а». В С++ существует способ сократить подобные операторы, применяя арифметические операции с присваиванием. Такие операции комбинируют арифметическую опе­рацию и операцию присваивания, тем самым исключая необходимость использо­вания имени переменной дважды, Предыдущий оператор можно записать с по­мощью сложения с присваиванием следующим образом:

а += б // сложение переменной а с б

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: