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

C++ Defining a specific object type when extending a template class

本文关键字:对象 类型 定义 扩展 C++      更新时间:2023-10-16

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

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

列表.h:

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

Node类内部:

public:
    virtual T getData();

我想用特定的定义类型MyType扩展这个类,以便我可以让 getData() 在扩展类MyTypeList中表现不同。我在语法方面遇到问题。任何帮助将不胜感激!

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

你可以做这样的事情:

struct MyTypeList : List<MyType> {
};

虽然它与做大致相同:

typedef List<MyType> MyTypeList;