Перегрузка операций и приоритет

191
22 марта 2018, 09:09

Имеется три объекта одного класса с перегруженными операциями + и *. Сохранят ли эти операции приоритет или нет? Почему? Например:

rezult = a + b * c.

Где a, b, c - объекты одного класса. Какая будет последовательность выполненных операций и почему?

Answer 1

В С и С++ приоритет операций диктуется грамматикой языка и наследуется из грамматики языка. Грамматике языка не интересно, встроенные ли это операторы или перегруженные.

Приоритет операций в общем случае не имеет никакого отношения к последовательности выполнения операторов. Но именно для перегруженных операторов такая связь имеется - перегруженные операторы выполняются именно в порядке их приоритета.

Если считать, что все операторы в данном выражении перегружены, то сначала будет выполнено умножение b * c, затем сложение a + ..., и затем - присваивание result = ....

READ ALSO
Утилита сравнения фалов

Утилита сравнения фалов

Есть утилита для сравнения файлов "testtxt" и "test1

242
Ошибка при поиске символа в массиве

Ошибка при поиске символа в массиве

Хочу в массиве найти максимально длинное словоНо ошибка строке:

239
Listeners in Java

Listeners in Java

Я не совсем понимаю что такое слушатели в Java,а точнее как их связать с кнопкой,например

220