Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.13.4 Перегруженные операции





Перегружать можно большинство операций. имя-функции-оператор: operator операция операция: один из new delete + - * / % ^ & | ~! = < > += -= *= /= %= ^= &= |= << >> >>= <<= ==!= <= >= && || ++ --, ->* -> () [] Две последние операции - это вызов функции ($$R.5.2.2) и индексация($$R.5.2.1). Можно перегружать следующие (как бинарные, так и унарные)операции: + - * & Нельзя перегружать следующие операции:..*::?: sizeof а также и специальные символы препроцессора # и ## ($$R.16). Обычно функции, задающие операции (функция-оператор) не вызываютсяявно, к ним обращаются для выполнения операций ($$R.13.4.1, $$R.13.4.2).Однако, к ним можно обращаться явно, например: complex z = a.operator+(b); // complex z = a+b void* p = operator new(sizeof(int)*n); Операции new и delete описаны в $$R.5.3.3 и $$R.5.3.4 и к нимне относятся перечисляемые ниже правила. Функция-оператор может быть функцией-членом или иметь по крайнеймере один параметр типа класс или ссылка на класс. Нельзя изменитьприоритет, порядок выполнения или число операндов операции, номожно изменить предопределенное назначение таких операций: =,унарная & и,(запятой), если они применяются к объекту типа класс.За исключением функции operator=(), функция-оператор наследуется.Правила для operator=() даны в $$R.12.8. Эквивалентность некоторых операций над основными типами(например, ++a эквивалентно a+=1) может не сохраняться для такихже операций над классами. Для некоторых операций требуется, чтобыв случае использования основных типов операнд был адресом (например,для +=). Это требование может быть снято, если операция задана надклассами. Перегруженная операция не может иметь стандартные значенияпараметров ($$R.8.2.6). Операции, которые явно не указаны в $$R.13.4.3-$$R.13.4.7,действуют как обычные унарные или бинарные операции, подчиняющиесяправилам, приведенным в $$R.13.4.1 или $$R.13.4.2.







Дата добавления: 2015-09-04; просмотров: 403. Нарушение авторских прав; Мы поможем в написании вашей работы!




Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия