看了C++的单例模式后,启发很大,刚好要写一个List,就在想能不能用模板来实现List的Node节点。
在这里直接上重点,完成后的代码:
#ifndef DONZ_TEMPLATE_NODE_H
#define DONZ_TEMPLATE_NODE_H
template<typename SubNode>
class Node
{
public:
Node():last(nullptr), next(nullptr)
{
}
~Node(){}
public:
const SubNode * getLast();
const SubNode * getNext();
void setLast(SubNode* setLast);
void setNext(SubNode* setNext);
protected:
SubNode *last;
SubNode *next;
};
template<typename SubNode>
const SubNode *Node<SubNode>::getLast()
{
return last;
}
template<typename SubNode>
const SubNode *Node<SubNode>::getNext()
{
return next;
}
template<typename SubNode>
void Node<SubNode>::setLast(SubNode *const _last)
{
last = _last;
}
template<typename SubNode>
void Node<SubNode>::setNext(SubNode *const _next)
{
next = _next;