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

📄 ptrtofunction.cpp

📁 20学时功课c++ 所有例子
💻 CPP
字号:
 // Listing 20.5 Using function pointers

 #include <iostream>

 

 void Square (int&,int&);

 void Cube (int&, int&);

 void Swap (int&, int &);

 void GetVals(int&, int&);

 void PrintVals(int, int);

 

 int main()

 {

     void (* pFunc) (int &, int &);

     bool fQuit = false;

 

     int valOne=1, valTwo=2;

     int choice;

     while (fQuit == false)

     {

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

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

         std::cin >> choice;

         switch (choice)

         {

         case 1: 

             pFunc = GetVals; 

             break;

         case 2: 

             pFunc = Square; 

             break;

         case 3: 

             pFunc = Cube; 

             break;

         case 4: 

             pFunc = Swap; 

             break;

         default : 

             fQuit = true; 

             break;

         }

 

         if (fQuit)

             break;

 

         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;

 }

 

 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 + -