函数指针的调用和回调
//了解指向函数的指针
#include <iostream>
using namespace std;
double betsy(int);///两个计算小时的函数
double pam(int);
void estimate(int lines, double (*pf)(int));
int main()
{
int code;
cout << "How many lines of code do you need? ";
cin >> code;
cout << "Here's betsy's estimate: \n";
estimate(code, betsy); //调用函数指针
cout << "Here's pam's estimate: \n";
estimate(code, pam);
return 0;
}
double betsy(int lns)
{
return 0.05*lns;
}
double pam(int lns)
{
return 0.03*lns+0.00004*lns*lns;
}
void estimate(int lines, double(*pf)(int)) //函数指针的实现
{
cout << lines << " lines will take ";
cout << (*pf)(lines) << " hour(s)\n";
}