ВУЗ:
Составители:
Рубрика:
40
Если число пользовательских функций велико (50 и выше), то возникает
неудобство в их визуальном представлении в общем тексте программы.
Действительно, имея список из 100 разных функций с их реализациями, в них
становится сложно ориентироваться и вносить необходимые изменения. Для
решения данной проблемы в языке С при создании своих функций можно
пользоваться правилом:
сначала задаются объявления функции, а затем их
реализации.
Язык С позволяет задавать функции с одинаковыми именами, но разными
типами входных аргументов. Следующий пример демонстрирует удобство
использования таких функций при их вызове.
Листинг 8. Пример использования перегруженных функций.
#include <stdio.h>
double abs(double arg);
float abs(float arg);
int abs(int arg);
int main()
{
double a_d = -5.6;
float a_f = -3.2;
int a_i;
a_d = abs(a_d);
a_f = abs(a_f);
a_i = abs(-8);
return 0;
}
double abs(double arg)
{
if(arg < 0) arg = arg*(-1);
return arg;
}
float abs(float arg)
{
return (arg < 0) ? –arg : arg;
}
int abs(int arg)
{
return (arg < 0) ? –arg : arg;
}
В представленной программе задаются три функции с именем abs и
разными входными и выходными аргументами для вычисления модуля числа.
Благодаря такому объявлению при вычислении модуля разных типов
переменных в функции main() используется вызов функции с одним и тем же
именем abs. При этом компилятор в зависимости от типа переменной
автоматически выберет нужную функцию.
Такой подход к объявлению
функций называется перегрузкой.
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »