Template C++ Tutorial

#include
template
class list
{
  data_t data;
  list *next;
public:
  list(data_t d);
  void add(list *node)
  {
    node->next=this;
    next=0;
  }
  list *getnext(){
    return next;
  }
  data_t getdata(){
    return data;
  }
};
template
list::list(data_t d)
{
  data=d;
  next=0;
}
main()
{
  liststart('a');
  list*p,*last;
  last=&start;
  for(int i=1;i<26;i++)
  {
    p=new list('a'+i);
    p->add(last);
    last=p;
  }
  p=&start;
  while(p){
      cout<getdata();
      p=p->getnext();
  }
  return 0;
}
abcdefghijklmnopqrstuvwxyz"