home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9202 / borhot / arptr2fn.cpp < prev    next >
C/C++ Source or Header  |  1991-11-28  |  2KB  |  69 lines

  1. /* ------------------------------------------------------ */
  2. /*                    ARPTR2FN.C                          */
  3. /*             Using pointers to functions                */
  4. /*            (c) 1990 Borland International              */
  5. /*                 All rights reserved.                   */
  6. /* ------------------------------------------------------ */
  7. /*  veröffentlicht in: DOS toolbox 1'91/92                */
  8. /* ------------------------------------------------------ */
  9.  
  10. /*
  11.   This program defines a five element array of pointers to
  12.   functions that take no arguments and return nothing.  It
  13.   then initilizes the first two elements of the array with
  14.   pointers to actual functions and executes these functions
  15.   via the array pointers.
  16. */
  17.  
  18. #include <stdio.h>    // for printf()
  19.  
  20. // Define 'p' is an array of 5 pointers to functions which
  21. // take no parameters and return nothing.
  22.  
  23. void (*p[5]) (void);
  24.  
  25. /* ------------------------------------------------------ */
  26. /*  function1 - The first demo function                   */
  27. /* ------------------------------------------------------ */
  28.  
  29. void function1(void)
  30. {
  31.   printf("Hello, in function function1\n");
  32. }
  33.  
  34. /* ------------------------------------------------------ */
  35. /*  function2 - The second demo function                  */
  36. /* ------------------------------------------------------ */
  37.  
  38. void function2(void)
  39. {
  40.   printf("Hello, in function function2\n");
  41. }
  42.  
  43. // ------------------------------------------------------- *
  44. int main()
  45. {
  46.   // Pointer at array index 0 points at function function1.
  47.  
  48.   p[0]=function1;
  49.  
  50.   // Pointer at array index 1 points at function function2.
  51.  
  52.   p[1]=function2;
  53.  
  54.   // Call function2 directly and then via the array
  55.  
  56.   function2();
  57.   p[1]();
  58.  
  59.   // Call function1 directly and then via the array
  60.  
  61.   function1();
  62.   p[0]();
  63.  
  64.   return 0;
  65. } // end of main()
  66. /* ------------------------------------------------------ */
  67. /*                Ende von ARPTR2FN.CPP                   */
  68.  
  69.