如何继承templatised Base类?

Atu*_*tul 0 c++ templates


我是STL的新手.我编写了一个Template Base类,如下所示

template <class T>  
class Base  
{  
    public:    
    //Constructor and Destructor ..  
    Base();  
    virtual ~Base();  
    virtual foo() = 0;  
};  
Run Code Online (Sandbox Code Playgroud)

现在,我想设计我的框架,以便我的继承类将公开派生自这个类,并将在各自的实现中实现foo.问题是我不知道如何从Template Base类继承?如下......

template class<T>  
class Derived : public Base<T>  
{ 
  // Implementation of Derived constructor etc and methods ...  
};  
Run Code Online (Sandbox Code Playgroud)

或者普通的C++方式

class Derived : public Base  
{  
};  
Run Code Online (Sandbox Code Playgroud)

有什么建议 ?另外,对于像我这样的新手开始使用STL的任何信息,我将不胜感激......

此致,
Atul

Jan*_*dec 5

后来,

class Derived : public Base
Run Code Online (Sandbox Code Playgroud)

无法正常工作,因为Base不是一类,它是一个类模板.它取决于是否Derived应该是模板或是否应该继承特定的实例Base: