// console2.cpp : Defines the entry point for the console application. // #include #include #include #include double (*pfn[3])(double); char *fNames[3] = { "Cos", "Sin", "Tan" }; int main(int argc, char* argv[]) { printf("**** Dynamic Binding *****!\n\n"); const double PI = 3.1415926; double result = 0.0; double angle = 45.0; double arg = ( angle/180.)*PI; pfn[0] = cos; pfn[1] = sin; pfn[2] = tan; srand( time(NULL) ); for ( int j=0; j<10; j++) { int i = rand() % 3; // **** Dynamic Binding **** // What function is called is NOT determined until // run time! result = pfn[i]( arg ); printf("I = %d, %s(%.2f) = %.4f\n", i, fNames[i], angle, result ); } return 0; }