#include using namespace std; void fun1() { cout << "In fun1" << endl; } void fun2(int x, int y) { cout << "In fun2" << endl; cout << "x = " << x << endl; cout << "y = " << y << endl; } int fun3() { cout << "In fun3" << endl; return 3; } void fun4(void (*pExample)()) { pExample(); } void main() { //a function name is just an address cout << "fun1 is at address " << fun1 << endl; cout << "fun2 is at address " << fun2 << endl; cout << "fun3 is at address " << fun3 << endl; cout << endl; void (*pExample1)(); pExample1 = fun1; cout << "pExample1 now points to address " << pExample1 << endl; pExample1(); cout << endl; void (*pExample2)(int,int); pExample2 = fun2; cout << "pExample2 now points to address " << pExample1 << endl; pExample2(1,2); cout << endl; int (*pExample3)(); pExample3 = fun3; cout << "pExample3 now points to address " << pExample1 << endl; cout << pExample3() << endl; cout << endl; fun4(fun1); }