Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Объектно-ориентированное программирование на C++.pdf
Скачиваний:
61
Добавлен:
23.03.2016
Размер:
1.88 Mб
Скачать

Перегрузка операции приведения типа

Базовые

сведения

Обобщённое программирова- ние

Перегрузка

операций

Введение

Присваивание

Бинарные

операции

Унарные опе-

рации

Операция ()

Исключения

Перегрузка операции приведения объекта к некоторому типу осуществляется путём объявления метода

operator тип () const ;

Например,

struct A { int x;

operator int () const ;

};

A :: operator int () const { return x; }

Обратите внимание на то, что, хотя операция приведения типа возвращает значение, в её объявлении тип возвращаеиого значения не указывается. В этом она напоминает конструктор.

81 / 99

Перегрузка операции «( )»

Базовые

сведения

Обобщённое программирова- ние

Перегрузка

операций

Введение

Присваивание

Бинарные

операции

Унарные опе-

рации

Операция ()

Исключения

Перегрузка операции ( ) даёт возможность «вызывать» объекты класса, как если бы они были функциями. Прототип перегруженной операции ( ) выглядит как

тип operator ()( список формальных параметров );

Можно сказать, что операция ( ) – n-арная, потому что внутри скобок может располагаться произвольное количество формальных параметров.

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

82 / 99