6.2.1 Бинарные и Унарные Операции

6.2.1 Бинарные и Унарные Операции

Бинарная операция может быть определена или как функция член, получающая один параметр, или как функция друг, получющая два параметра. Таким образом, для любой бинарной оперции @ aa@bb может интерпретироваться или как aa.operator@(bb), или как operator@(aa,bb). Если определены обе, то aa@bb является ошибкой. Унарная операция, префиксная или постфиксная, может быть определена или как функция член, не получающая параметров, или как функция друг, получающая один параметр. Таким образом, для любой унарной операции @ aa @ или @aa может интерпретироваться или как aa.operator@(), или как operator@(aa). Если определено и то, и другое, то и aa@, и @aa являются ошибками. Рассмотрим следующие примеры:

class X (* // друзья

friend X operator-(X); // унарный минус friend X operator-(X,X); // бинарный минус friend X operator-(); // ошибка: нет операндов

friend X operator-(X,X,X); // ошибка: тернарная

// члены (с неявным первым параметром: this)

X* operator amp;(); // унарное amp; (взятие адреса) X operator amp;(X); // бинарное amp; (операция И) X operator amp;(X,X); // ошибка: тернарное

*);

Когда операции ++ и – перегружены, префиксное использвание и постфиксное различить невозможно.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

7.2 Унарные Операции

Из книги C++ автора Хилл Мюррей

7.2 Унарные Операции Выражения с унарными операциями группируют справа налво:унарное_выражение: унарная_операция выражение выражение ++ выражение – sizeof выражение sizeof ( имя_типа ) ( имя_типа ) выражение простое_имя_типа ( список_выражений ) new имя_типа инициализатор opt new (


7.16.1 Унарные Операции

Из книги Базы данных: конспект лекций автора Автор неизвестен

7.16.1 Унарные Операции Унарная операция, префиксная или постфиксная, может быть определена или с помощью функции члена (см. #8.5.4), не получающей параметров, или с помощью функции друга (см. #8.5.10), получающей один параметр, но не двумя способами одновременно. Так, для любой


7.16.2 Бинарные Операции

Из книги Справочное руководство по C++ автора Страустрап Бьярн

7.16.2 Бинарные Операции Бинарная операция может быть определена или с помощью функции члена (см. #8.5.4), получающей один параметр, или с помощью функции друга (см. #8.5.9), получающей два параметра, но не двумя способами одновременно. Так, для любой бинарной операции @, x@y может быть


Лекция № 4. Реляционная алгебра. Унарные операции

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Лекция № 4. Реляционная алгебра. Унарные операции Реляционная алгебра, как нетрудно догадаться, – это особая разновидность алгебры, в которой все операции производятся над реляционными моделями данных, т. е. над отношениями.В табличных терминах отношение включает в себя


Лекция № 5. Реляционная алгебра. Бинарные операции

Из книги Справочник по PHP автора

Лекция № 5. Реляционная алгебра. Бинарные операции 1. Операции объединения, пересечения, разности У любых операций есть свои правила применимости, которые необходимо соблюдать, чтобы выражения и действия не теряли смысла. Бинарные теоретико-множественные операции


2. Унарные операции на языке структурированных запросов

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

2. Унарные операции на языке структурированных запросов В этом параграфе мы рассмотрим, как реализуются на языке структурированных запросов с помощью оператора Select уже знакомые нам унарные операции выборки, проекции и переименования.Важно заметить, что если раньше мы


3. Бинарные операции на языке структурированных запросов

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

3. Бинарные операции на языке структурированных запросов Как и унарные операции, операции бинарные также имеют свою реализацию на языке структурированных запросов или SQL. Итак, рассмотрим осуществление на этом языке уже пройденных нами бинарных операций, а именно –


R.5.3 Унарные операции

Из книги C++ для начинающих автора Липпман Стенли

R.5.3 Унарные операции Выражения с унарными операциями выполняются справа налево.унарное-выражение: постфиксное-выражение ++ унарное выражение -- унарное выражение унарная-операция выражение-приведения sizeof унарная-операция sizeof


R.13.4.1 Унарные операции

Из книги автора

R.13.4.1 Унарные операции Префиксную унарную операцию можно задать с помощью нестатической функции-члена (§R.9.3), без параметров или с помощью функции, не являющейся членом, с одним параметром. Таким образом, для всякой префиксной унарной операции @, выражение @x может


R.13.4.2 Бинарные операции

Из книги автора

R.13.4.2 Бинарные операции Бинарную операцию можно задать с помощью нестатической функции-члена (§R.9.3), имеющей один параметр, или с помощью функции, не являющейся членом, с двумя параметрами. Таким образом, для всякой бинарной операции @ выражение x@y может интерпретироваться


Унарные операторы 

Из книги автора

Унарные операторы  Унарными называются операторы, которые применяются к одному операнду (табл. П1.3).Таблица П1.3. Унарные операторы Оператор Описание - Изменение знака на противоположный ! Дополнение. Используется для изменения значения логической переменной на


Бинарные операторы 

Из книги автора

Бинарные операторы  Бинарными называются операторы, которые соединяют два операнда (табл. П1.4).Таблица П1.4. Бинарные операторы Оператор Описание Оператор Описание - Вычитание / Деление + Сложение % Вычисление остатка от


Бинарные операции

Из книги автора

Бинарные операции gmp_andЛогическое И (AND).Синтаксис:resource gmp_and(resource x, resource y)gmp_orЛогическое ИЛИ (OR).Синтаксис:resource gmp_or(resource x, resource y)gmp_xorЛогическое исключающее-ИЛИ (XOR).Синтаксис:resource gmp_xor(resource x, resource y)gmp_setbinУстановка бита.Синтаксис:resource gmp_setbin(resource &x, int index [, bool


Унарные операции

Из книги автора

Унарные операции Унарный минус (-)Операция унарного минуса выполняет арифметическое отрицание своего операнда. Операнд должен быть целым или плавающим значением. Выполняются преобразования операнда по умолчанию. Тип результата совпадает с преобразованным типом


Глава 8. Бинарные деревья.

Из книги автора

Глава 8. Бинарные деревья. Подобно массивам и связным спискам, деревья того или иного вида - это структуры данных, которые используются программистами практически повсеместно. В главе 3 были рассмотрены односвязные списки, в которых существовала единственная связь,


4.3. Операции сравнения и логические операции

Из книги автора

4.3. Операции сравнения и логические операции Символ операции Значение Использование ! Логическое НЕ !expr меньше exprexpr = Меньше либо равно expr=expr больше exprexpr = больше либо равно expr=expr == равно expr==expr != не равно expr!=expr логическое