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

Тип_возвращаемого_значения operator знак_операции

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


(спецификация_параметров_операции-функции);

И в прототипе, и в заголовке определения операции-функции используется ключевое слово operator, вслед за которым помещен знак операции. Если принять, что конструкция operator знак_операции есть имя некоторой функции, то определение и прототип операции-функции подобны определению и прототипу обычной функции языка C++. Например, для распространения действия бинарной операции "*" на объекты класса T может быть введена функция с заголовком:

Т operator * (Т x, Т y)

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

Количество параметров у операции-функции зависит от арности операции и от способа определения функции. Операция-функция определяет алгоритм выполнения перегруженной операции, когда эта операция применяется к объектам класса, для которого операция-функция введена. Чтобы явная связь с классом была обеспечена, операция-функция должна быть:

•либо компонентом класса,

•либо она должна быть определена в классе как дружественная,

•либо у нее должен быть хотя бы один параметр типа класс (или ссылка на класс).


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


<== предыдущая страница | следующая страница ==>
Перегрузка стандартных операций.| Перегрузка функций.

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