Listing 6

#include <functional>
#include <iostream>
#include <math.h>
using std::cout;
using std::tr1::function;

int main()
  {
  function<double(double)> func = cosl;
  cout << "cos(0.0): " << func(0.0) << '\n';
  func = sinf;
  cout << "sin(0.0): " << func(0.0) << '\n';
  return 0;
  }