Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Перегрузка функций
Язык 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) { int add_values (int a, int b, int c) ( void main(void) { Одним из наиболее общих случаев использования перегрузки является применение функции для получения определенного результата, исходя из различных параметров. Перегрузка функций C++ позволяет вашим программам определять несколько функций с одним и тем же именем. Перегруженные функции должны возвращать значения одинакового типа*, но могут отличаться количеством и типом параметров. ФУНКЦИИ С ПЕРЕМЕННЫМ КОЛ. ПАРАМЕТРОВ Иногда у начинающих возникает вопрос про использование многоточия в языке С++. · Многоточие можно использовать тогда, когда по каким-то причинам предполагается создать функцию с неизвестным заранее числом аргументов. В объявлении и определении такой функции переменное число аргументов задается многоточием в конце списка формальных параметров или списка типов аргументов
|