我们都会使用c的函数指针的调用函数,那么基于模板该如何实现呢?
下面仅仅是个小的实现方式,仅供参考
#include <iostream>
#include<string>
using namespace std;
template <typename T, T nontype_param>
class C {
public:
template <typename T2>
void fun(T2 N){
nontype_param(N);
}
};
void fun1(int N){
cout<<"int N= "<<N<<endl;};
void fun2(double N){
cout<<"double N= "<<N<<endl;
};
int main(int argc, char *argv[]){
C<void (*)(int), fun1>* c1;
c1->fun(3);
C<void (*)(double), fun2>* c2;
c2->fun(3.01);
return 0;
}
不错,Class C可以看做是前人写好的框架,我们可以往这模板类里面添加后来人写的功能函数
本文介绍了一种使用模板类实现函数指针的方法。通过示例代码展示了如何定义一个通用模板类C,并利用该类实例化不同类型的函数指针进行调用。此方法为在C++中灵活运用函数指针提供了新的思路。
1035

被折叠的 条评论
为什么被折叠?



