The textbook describes function pointers in C++ as a mechanism for calling subprograms indirectly. Write a simple C++ program that defines two different functions (f and g) that both take two int values and return an int value.
Also define a function called "higher order" that takes a function as a parameter (via a function pointer with the same signature as f and g) and two int values, and then calls the passed in function over the two values, returning the result.
Write a main function that outputs the result of calling the "higher order" function twice: once passing in f and once passing in g.