Студопедия

Главная страница Случайная страница

Разделы сайта

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






Перегрузка функций






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

В приведенном далее тексте программы три функции с именем Pow. Первая выполняет операцию возведения вещественного числа a в дробную степень n=k/m, где k и m - целые числа. Вторая возводит вещественное число a в целую степень n, а третья — целое число a в целую степень n1. Какую именно функцию вызвать, компилятор определяет по типу фактических параметров. Так, если a — вещественное число, а k — целое, то оператор Pow (a, k) вызовет вторую функцию, так как она имеет заголовок float Pow(float a, int n). Команда Pow((int) a, k) приведет к вызову третьей функции int Pow(int a, int n), так как вещественная переменная a преобразована к целому типу. Первая функция float Pow(float a, int k, int m) имеет три параметра, значит, обращение к ней осуществляется командой Pow (a, k, m).

 

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

Перегрузка функций позволяет вашим программам определять несколько функций с одним и тем же именем и типом возвращаемого значения. Например, следующая программа перегружает функцию с именем add_values. Первое определение функции складывает два значения типа int. Второе определение функции складывает три значения. В процессе компиляции C++ корректно определяет функцию, которую необходимо использовать:

#include < iostream.h>

int add_values(int a, int b)

{
return(a + b);
)

int add_values (int a, int b, int c)

(
return(a + b + c);
)

void main(void)

{
cout < < " 200 + 801 = " < < add_values(200, 801) < < endl;
cout < < " 100 + 201 + 700 = " < < add_values(100, 201, 700) < < endl;
}

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

Перегрузка функций C++ позволяет вашим программам определять несколько функций с одним и тем же именем. Перегруженные функции должны возвращать значения одинакового типа*, но могут отличаться количеством и типом параметров.

ФУНКЦИИ С ПЕРЕМЕННЫМ КОЛ. ПАРАМЕТРОВ

Иногда у начинающих возникает вопрос про использование многоточия в языке С++.

· Многоточие можно использовать тогда, когда по каким-то причинам предполагается создать функцию с неизвестным заранее числом аргументов. В объявлении и определении такой функции переменное число аргументов задается многоточием в конце списка формальных параметров или списка типов аргументов






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.