#include #include using namespace std; class function_object { public: bool operator()(int a, int b) const {return a < b;} }; inline bool f(int a, int b) {return a < b;} int main() { int i = 10; int j = 20; bool b = f(i, j); //f is a function. cout << boolalpha << b << "\n"; bool (*p)(int, int) = f; //p is a pointer to a function. b = (*p)(i, j); //Lines 21-22 are two ways to call the ... b = p(i, j); //... function to which p points. cout << b << "\n"; function_object g; b = g(i, j); //b = g.operator()(i, j); cout << b << "\n"; return EXIT_SUCCESS; }