C++ Tutorial/template/generic list

Материал из C\C++ эксперт
Версия от 10:30, 25 мая 2010; Admin (обсуждение | вклад) (1 версия: Импорт контента...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Generic list

#include<iostream.h>
template<class data_t>
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<class data_t>
list<data_t>::list(data_t d)
{
  data=d;
  next=0;
}
main()
{
  list<char>start("a");
  list<char>*p,*last;
  last=&start;
  for(int i=1;i<26;i++)
  {
    p=new list<char>("a"+i);
    p->add(last);
    last=p;
  }
  p=&start;
  while(p){
      cout<<p->getdata();
      p=p->getnext();
  }
  return 0;
}
abcdefghijklmnopqrstuvwxyz"