我是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
后来,
class Derived : public Base
Run Code Online (Sandbox Code Playgroud)
将无法正常工作,因为Base不是一类,它是一个类模板.它取决于是否Derived应该是模板或是否应该继承特定的实例Base:
模板:
template<typename T>
class Derived : public Base<T>
Run Code Online (Sandbox Code Playgroud)非模板:
class Derived : public Base<Something>
Run Code Online (Sandbox Code Playgroud)
(Something某些具体类型如何int或char *或std::string)
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |