1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // fun_ptr.cpp -- pointers to functions
- #include <iostream>
- double betsy(int);
- double pam(int);
- // second argument is pointer to a type double function that
- // takes a type int argument
- void estimate(int lines, double (*pf)(int));
- int main()
- {
- using namespace std;
- 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);
- // cin.get();
- // cin.get();
- return 0;
- }
- double betsy(int lns)
- {
- return 0.05 * lns;
- }
- double pam(int lns)
- {
- return 0.03 * lns + 0.0004 * lns * lns;
- }
- void estimate(int lines, double (*pf)(int))
- {
- using namespace std;
- cout << lines << " lines will take ";
- cout << (*pf)(lines) << " hour(s)\n";
- }
|