Node.cpp code:
#include "Node.h"
using namespace std;
template <typename t>
Node :: Node(t nodeDate){
data = nodeData;
}
Node.h代码:
#ifndef NODE_H
#define NODE_H
using namespace std;
template <typename t>
class Node{
public:
Node(t nodeData);
private:
Node *nextNode;
type data;
friend class LinkedList;
};
#endif
Node:: Node(t nodeDate)在cpp类中给出一个"名称,后面跟着'::'必须是类或命名空间的名称"我不知道为什么,因为我有include语句
构造函数Node
是类模板Node<t>
的数据成员。所以你需要写
template <typename t>
Node<t> :: Node(t nodeDate){
data = nodeData;
}
需要初始化数据成员nextNode
。
Node( const t &nodeData);
构造函数定义如下
template <typename t>
Node<t> :: Node( const t &nodeDate) : data( nodeData ), nextNode( nullptr )
{
}
也把构造函数定义放在头文件中。
不清楚type
在这个数据成员声明中使用的名称
type data;
的意思。你是说
t data;
如果类Node
是类LinkedList
的内部类,那就更好了。