📄 ptrtofunction.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 + -