概述
要求:
编写函数声明返回值为int形参列表接受两个int,将指向该函数的指针放入vector容器。
补充函数功能,实现加减乘除,编写四个函数,将指向函数的指针依次序放入vector容器。
输入两个数,用函数指针调用函数,并打印输出。
#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 练习6.54函数指针所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复