hello.h
#include<iostream>
using namespace std;
template <typename Dtype>
class Node{
private:
template <typename DataType>
friend void show(Node<DataType> *node);
Node<Dtype> *next;
Dtype data;
public:
Node(){
cout << "Node init with no arg..." << endl;
data = 0;
next = NULL;
}
Node(Dtype item, Node<Dtype> *nextNode = NULL){
cout << "Node init with arg..." << endl;
data = item;
next = nextNode;
}
~Node(){
cout << "delete Node..." << endl;
next = NULL;
}
};
hello.cc
#include<iostream>
using namespace std;
template <typename DataType>
void show(Node<DateType> *node){
while(node != NULL){
cout << node -> data << endl;
node = node -> next;
}
}
int main(){
Node<int>* he = new Node<int>();
Node<int>* ha = new Node<int>(3, he);
Node<int>* view = new Node<int>(5, ha);
show(view);
delete view;
delete he;
delete ha;
return 0;
}