⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hour20_2.cpp

📁 《24学时精通c++》的随书源码的下半部分。欢迎下载学习。
💻 CPP
字号:
 // Listing 20.6 arrays of pointers to functions

 #include <iostream>

 

 void Square (int&,int&);

 void Cube (int&, int&);

 void Swap (int&, int &);

 void GetVals(int&, int&);

 void PrintVals(int, int);

 

 int main()

 {

     int valOne=1, valTwo=2;

     int choice,i;

     const int MaxArray = 5;

     void (*pFuncArray[MaxArray])(int&, int&);

 

     for (i=0;i<MaxArray;i++)

     {

         std::cout << "(1)Change Values "

             << "(2)Square (3)Cube (4)Swap: ";

         std::cin >> choice;

         switch (choice)

         {

         case 1:

             pFuncArray[i] = GetVals; 

             break;

         case 2:

             pFuncArray[i] = Square; 

             break;

         case 3:

             pFuncArray[i] = Cube; 

             break;

         case 4:

             pFuncArray[i] = Swap; 

             break;

         default:

             pFuncArray[i] = 0;

         }

     }

 

     for (i=0;i<MaxArray; i++)

     {
         if (pFuncArray[i] != 0)     // This added checking will skip any entries with an invalid 
         {                           // menu selection (bullet proofing the run).

            pFuncArray[i](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;

 }

 

 void GetVals (int & rValOne, int & rValTwo)

 {

     std::cout << "New value for ValOne: ";

     std::cin >> rValOne;

     std::cout << "New value for ValTwo: ";

     std::cin >> rValTwo;

 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -