#include
using namespace std;
template< typename T >
class list
{
private :
T i;
public:
list (T k){ i=k ;}
T geti() { return i;}
list *next;
friend void create(list *&head );
};
template
void create( list *&head )
{
T i;
list *p,*s;
cout<<"i:"<
cin>>i;
while(i)
{
p=new list (i);
if(head==NULL)
{ head=p; p->next=NULL; s=p;}
else
{
s->next=p;
p->next =NULL;
}
cout<<"i:"<
cin>>i;
}
}
int main()
{
list *head=NULL,*p;
create(head);
p=head;
while(p)
{
cout<geti()<
p=p->next ;
}
getchar();
return 0;
}