小编bis*_*ash的帖子

在C++中为抽象类模板创建接口

我有如下代码.我有一个抽象模板类Foo和两个子类(Foo1和Foo2),它们派生自模板的实例化.我希望在我的程序中使用指向Foo1或Foo2类型的对象的指针,因此我创建了一个接口IFoo.

我的问题是我不确定如何在界面中包含functionB,因为它依赖于模板实例化.甚至可以通过界面使functionB可访问,还是我尝试不可能?

非常感谢您的帮助.

class IFoo {
    public:
        virtual functionA()=0;

};

template<class T>
class Foo : public IFoo{
    public:
        functionA(){ do something; };
        functionB(T arg){ do something; };
};

class Foo1 : public Foo<int>{
...
};

class Foo2 : public Foo<double>{
...
};
Run Code Online (Sandbox Code Playgroud)

c++ inheritance templates pointers interface

22
推荐指数
4
解决办法
3万
查看次数

标签 统计

c++ ×1

inheritance ×1

interface ×1

pointers ×1

templates ×1