要求:
编写函数声明返回值为int形参列表接受两个int,将指向该函数的指针放入vector容器。
补充函数功能,实现加减乘除,编写四个函数,将指向函数的指针依次序放入vector容器。
输入两个数,用函数指针调用函数,并打印输出。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26#include <vector> #include <iostream> inline int intPlus(int val1, int val2){return val1 + val2;} //运算较少声明为内联函数 inline int intMinus(int val1, int val2){return val1 - val2;} inline int intTimes(int val1, int val2){return val1 * val2;} inline int intDivided(int val1, int val2){return val1 / val2;} using funPointer = int(*)(int, int); // 定义指向函数指针类型的别名 int main() { //将函数指针放入容器中 std::vector<funPointer> pointer_fun; pointer_fun.push_back(intPlus); // vector内元素为函数指针 pointer_fun.push_back(intMinus); pointer_fun.push_back(intTimes); pointer_fun.push_back(intDivided); //函数指针调用结果存入数组 int result[4] = {0}; int val1 = 10, val2 = 2; for (int i = 0; i < 4; ++i){ result[i] = pointer_fun[i](val1, val2); } //打印 for (const auto i : result) std::cout << i << " "; return 0; }
最后
以上就是落寞小兔子最近收集整理的关于C++Primer 练习6.54函数指针的全部内容,更多相关C++Primer内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复