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

Перегрузка стандартных операций.

Стандартные потоки ввода-вывода для базовых типов. | Объявление функции называют иногда прототипом функции. | Указатели позволяют эффективно работать с массивами | Управление доступом. Определение, синтаксис объявления и пример использования. | Имя метода совпадает с именем класса. | Поля перечисляются через запятую. Для каждого поля в скобках указывается инициализирующее значение, которое может быть выражением. | Выделение памяти для полей класса; | Конструктор по умолчанию. Определение, свойства, синтаксис объявления и пример использования. | Свойства деструкторов | Используются для получения непосредственного доступа извне к скрытым полям класса, то есть расширения интерфейса класса. |


Читайте также:
  1. Основные требования законодательства к содержанию внешнеторгового договора и к срокам проведения внешнеторговых операций.
  2. Перегрузка функций.
  3. Понятие, виды и порядок проведения валютных операций.
  4. Учет кассовых операций.

Одной из особенностей языка C++ является возможность распространения действия стандартных операций на операнды, для которых эти операции первоначально в языке не предполагались. Например, если S1 и S2 - символьные строки, то их конкатенацию (соединение) удобно было бы обозначить как S1 + S2. Однако бинарная операция "+" в обычном контексте языка C++ предназначена для арифметических операндов и не предусматривает строковых операндов. Никакой возможности распространить действие стандартной операции "+" на строки в виде символьных массивов или строковых констант в языке C++ нет.

Однако, если определить S1 и S2 как объекты некоторого класса, например, введенного на 6 шаге класса stroka, то для них можно ввести операцию "+", выполняемую по таким правилам, которые заранее выбрал программист.

Для этих целей язык C++ позволяет распространить действие любой стандартной операции на новые типы данных, вводимые пользователем. Распространить операцию на новые типы данных позволяет механизм перегрузки стандартных операций.

Чтобы появилась возможность использовать стандартную для языка C++ операцию (например, "+" или "*") с необычными для нее данными, необходимо специальным образом определить ее новое поведение. Это возможно, если хотя бы один из операндов является объектом некоторого класса, т.е. введенного пользователем типа. В этом случае применяется механизм, во многом схожий с механизмом определения функций.

Для распространения действия операции на новые пользовательские типы данных программист определяет специальную функцию, называемую "операция-функция" (Operator Function). Формат определения операции-функции:


Дата добавления: 2015-10-02; просмотров: 42 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Object.print();| Тип_возвращаемого_значения operator знак_операции

mybiblioteka.su - 2015-2024 год. (0.01 сек.)