我们都会使用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可以看做是前人写好的框架,我们可以往这模板类里面添加后来人写的功能函数