Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
63
Добавлен:
16.02.2016
Размер:
455 Кб
Скачать

Определение адреса перегруженной функции

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

//Первая версия функции

int Func(int i, int j);

int Func(long 1); //Вторая версия функции

//Определение адреса первой версии функции

int (*pFunc) (int, int) = Func;

//Вызов функции

pFunc(10,20);

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

Выше мы рассмотрели случай, когда перегружалась глобаль­ная функция, однако те же правила применимы и к перегружен­ным функциям-членам.

Соседние файлы в папке ЯзыкС++Глушаков