C ++扩展模板类时定义特定的对象类型

时间:2012-12-02 00:36:31

标签: c++ templates inheritance extending

我编写了一个简短的模板列表类,定义了我想在其实现中使用的一些方法。我目前的问题是我无法扩展通用模板类型并定义特定类型。

换句话说,假设我有一个名为MyType

的类

List.h:

template<class T>
class List
{
    public:
        Node<T> *head;
        Node<T> *tail;

 ...
}

Node班级内:

public:
    virtual T getData();

我想使用特定的已定义类型MyType扩展此类,以便我可以在扩展类MyTypeList中使getData()的行为有所不同。我的语法有问题。任何帮助将不胜感激!

class MyTypeList : public List<T>
{
...
}

1 个答案:

答案 0 :(得分:1)

您可以这样做:

struct MyTypeList : List<MyType> {
};

虽然与做的几乎相同:

typedef List<MyType> MyTypeList;