专门化模板类

nac*_*o4d 3 c++ templates

我刚刚创建了一个模板类

template< typename T >
class LinkedList {
private:
    struct LinkedListElement {
        T *m_data;
        LinkedListElement *m_next;
    };
    LinkedListElement *head;
public:
    void insert(T *elem);
    void remove(T *elem);
    T *find(const char *name);
};
Run Code Online (Sandbox Code Playgroud)

我想自定义什么find方法为某个类做什么.

那么,当我进行模板专业化时,我是否必须重新编写孔模板实现代码或者只是t*find(比如子类化时)?

这是我第一次创建自己的模板;)

帮助将不胜感激.

Joh*_*itb 8

对于这种情况,您只能专门化成员函数

template<> inline MyType *LinkedList<MyType>::find(const char *name) { 
    /* ... */ 
}
Run Code Online (Sandbox Code Playgroud)