请问接口类里面怎么实现模版函数?
就是想实现一个纯虚接口类,然后另一个类来实现,但是参数是个模版,请问怎么实现,谢谢
class IA{public: IA(){}; virtual ~IA(){}; template <typename F> int TestFun(F fun);};class A : public IA{public: A(){}; virtual ~A(){}; template <typename F> int TestFun(F fun) { if(fun) return 0; return 1; };};int fun(int a, int b){ return a + b;}int _tmain(int argc, _TCHAR* argv[]){ //A* a = new A; IA* ia = new A; //a->TestFun(fun); ia->TestFun(fun); //delete a; delete ia; return 0;}
class ICallBack{public: virtual int Fun() = 0;};class CallBack : public ICallBack{ virtual int Fun() { return 1; }};class IA{public: virtual int TestFun(ICallBack* pCallBack) = 0;};class A : public IA{public: virtual int TestFun(ICallBack* pCallBack) { if(pCallBack->Fun()) { return 0; } return 1; }};int _tmain(int argc, _TCHAR* argv[]){ //A* a = new A; IA* ia = new A; CallBack cb; ia->TestFun(&cb); //delete a; delete ia; return 0;}
[解决办法]