模板类型实参和非类型实参的使用 ----- 基于模板的函数指针的使用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值