函数指针和成员成员用法

《一》一般函数指针用法:


《一》一般函数指针用法:
typedef char (*PTRFUN)(int); 
PTRFUN pFun;
 char glFun(int a){ return;} 
void main()
     pFun = glFun;
     (*pFun)(2);
} 

 

《二》成员函数指针用法:

template <typename ClassType, typename ParaType>
class CC
{
public:
	/*函数指针类型模板*/
	typedef ParaType (ClassType::*pClassFun)(ParaType, ParaType);

/*函数指针函数模块*/ ParaType Result(ClassType* pClassType, pClassFun fun, ParaType a, ParaType b) { return (pClassType->*fun)(a, b); } };

 

《三》使用函数指针做代理:

template <class TTpFuncClass>
void ttMakeFuncObject(TTpFuncClass& theFuncObject, void (TTpFuncClass::*pFunction)())
{
(theFuncObject.*pFunction)();
}
class TTFuncObject{
public:
TTFuncObject()
{
}
void add()
{
cout<< "TTFuncObject::add()" << endl;
}
};
int main(int argc, char* argv[])
{
TTFuncObject aTTFuncObject;
ttMakeFuncObject(aTTFuncObject, &TTFuncObject::add);
return 0;
}

 

posted on 2013-11-13 22:01  无根的泪痕 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lemonZ/p/3422281.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值