C++函数指针
2016-07-07 21:06
204 查看
可以通过一个函数指针来传递一个函数。
如果定义一个函数为:
int add(int,int)
那么这个若这个函数对应的指针是pf,则上面的函数可以以下面的这个形式表述:
int (*pf)(int,int)
下面是一个函数指针的样例程序:
#include <iostream>
using namespace std;
int add(int a, int b) {
return a + b;
}
int multiply(int a, int b) {
return a * b;
}
int test_func_point(int (*pf)(int, int), int a, int b) {
return (*pf)(a, b);
}
int main() {
int a = 3, b = 8;
cout << test_func_point(add, a, b) << endl;
cout << test_func_point(multiply, a, b) << endl;
return 0;
}
输出为:
11
24
如果定义一个函数为:
int add(int,int)
那么这个若这个函数对应的指针是pf,则上面的函数可以以下面的这个形式表述:
int (*pf)(int,int)
下面是一个函数指针的样例程序:
#include <iostream>
using namespace std;
int add(int a, int b) {
return a + b;
}
int multiply(int a, int b) {
return a * b;
}
int test_func_point(int (*pf)(int, int), int a, int b) {
return (*pf)(a, b);
}
int main() {
int a = 3, b = 8;
cout << test_func_point(add, a, b) << endl;
cout << test_func_point(multiply, a, b) << endl;
return 0;
}
输出为:
11
24
相关文章推荐
- C++开源代码项目汇总
- c++ primer 的 textquery 例子。
- C语言创建数组的几个常用方法
- C语言嵌入式系统编程修炼之三:内存操作
- VC++ 注册码
- 参数传递
- C语言之父丹尼斯·里奇:乔布斯脚下的巨人肩膀
- STL的多线程安全问题
- 【排序算法】-堆排序
- 【NOIP2000】方格取数
- 大话设计模式c++实现--原型模式
- 浅谈 C++ 中的 new/delete 和 new[]/delete[]
- malloc/free new/delete 区分
- 在cmd命令行下编译运行C/C++源文件
- 【基础算法】嵌套矩形
- Eclipse下报错 An internal error occurred during: "C/C++ Indexer". java.lang.NullPointerException
- 【排序算法】-归并排序
- VS2015 使用微软自带的单元测试框架测试本地C++代码的注意事项
- 残缺棋盘问题
- 【排序算法】-插入排序