Указатель на функцию как формальный параметр
Указатель на функцию может быть передан в качестве формального параметра. Это типичный случай реализации алгоритма, в котором некоторый внутренний шаг задан в виде действия общего вида. Этот шаг осуществляется путем получения указателя на необходимую функцию и ее вызова. В качестве примера приведем функцию вычисления определенного интеграла для произвольной подынтегральной функции:
//------------------------------------------------------bk56-01.cpp
//------Численное интегрирование произвольной функции
double INTEG(double a, double b, int n, double(*pf)(double))
// a,b - границы интегрирования
// n - число точек
// pf - подынтегральная функция
{
double s,h,x;
for (s=0., x=a, h = (b-a)/n; x <=b; x+=h)
s += (*pf)(x) * h;
return(s);
}
extern double sin(double);
void main() { cout << INTEG(0.,1.,40,sin)); }