Using function pointers : function pointers « Function « C++ Tutorial






#include <iostream>
 
 void Square (int&,int&);
 void Cube (int&, int&);
 void Swap (int&, int &);
 void PrintVals(int, int);
 
 int main()
 {
     void (* pFunc) (int &, int &);

     int valOne=1, valTwo=2;

     PrintVals(valOne, valTwo);
     pFunc(valOne, valTwo);
     PrintVals(valOne, valTwo);

     pFunc = Square; 
     PrintVals(valOne, valTwo);
     pFunc(valOne, valTwo);
     PrintVals(valOne, valTwo);

     pFunc = Cube; 
     PrintVals(valOne, valTwo);
     pFunc(valOne, valTwo);
     PrintVals(valOne, valTwo);

     pFunc = Swap; 
     PrintVals(valOne, valTwo);
     pFunc(valOne, valTwo);
     PrintVals(valOne, valTwo);
     
     return 0;
 }
 
 void PrintVals(int x, int y)
 {
     std::cout << "x: " << x << " y: " << y << std::endl;
 }
 
 void Square (int & rX, int & rY)
 {
     rX *= rX;
     rY *= rY;
 }
 
 void Cube (int & rX, int & rY)
 {
     int tmp;
 
     tmp = rX;
     rX *= rX;
     rX = rX * tmp;
 
     tmp = rY;
     rY *= rY;
     rY = rY * tmp;
 }
 
 void Swap(int & rX, int & rY)
 {
     int temp;
     temp = rX;
     rX = rY;
     rY = temp;
 }
x: 1 y: 2








7.10.function pointers
7.10.1.Using function pointers
7.10.2.Arrays of pointers to functions
7.10.3.Use function pointers as a function parameter
7.10.4.Use typedef to define a function type for function pointer
7.10.5.arguments passed by reference
7.10.6.arguments passed by pointer
7.10.7.array passed by pointer
7.10.8.orders two arguments using pointers
7.10.9.sorts an array using pointers
7.10.10.Function pointer for overloaded function