首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教接口类里面如何实现模版函数

2012-11-07 
请问接口类里面怎么实现模版函数?就是想实现一个纯虚接口类,然后另一个类来实现,但是参数是个模版,请问怎

请问接口类里面怎么实现模版函数?
就是想实现一个纯虚接口类,然后另一个类来实现,但是参数是个模版,请问怎么实现,谢谢

C/C++ code
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;}


[解决办法]
mark,有个讨论差不多,无疾而终

http://stackoverflow.com/questions/6784893/looking-for-solution-of-c-member-function-override-non-virtual
[解决办法]
呵呵 替你再顶一下
[解决办法]
探讨
引用:

mark,有个讨论差不多,无疾而终

http://stackoverflow.com/questions/6784893/looking-for-solution-of-c-member-function-override-non-virtual


感觉在基类里面将含有类型的变量保存一下,在子类里面去用,说不定可以,还是没想好怎么保存。。。

[解决办法]
从ICallBack接口继承来实现Fun吧
C/C++ code
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;}
[解决办法]
探讨
从ICallBack接口继承来实现Fun吧

C/C++ code


class ICallBack
{
public:
virtual int Fun() = 0;
};

class CallBack : public ICallBack
{
virtual int Fun()
{
return 1;
}
};……

热点排行