c++问题有关链表

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:35:26
#include<iostream.h>
#include<string.h>
template< typename B >
class A
{
public:
A();
virtual ~ A () ;
A* inste();
void show();
public:
B date,num;
A *p,*s,*q,*next;
A *head;
};

template< typename B >A<B>::A():head(NULL)//构造函数初始化head
{
}
template< typename B >A<B>::~A()
{

cout<<"delete s"<<endl;
}
template< typename B >A<B>* A<B>::inste()
{
s=new A;
cin>>s->date;
while ( s->date != 0)
{ if ( head == NULL ) head = s ;
else p->next = s ;
p = s ;
s = new A ;
cin >> s->date ;
}
p -> next = NULL ;
delete s ;
return ( head ) ;
}
template< typename B >void A<B>::show()
{
cout<<"show you look:\n";
while(head)

我试验过你的程序了
有一个很关键的地方你写错了
while ( s->date != 0)
这个地方你用键盘没有办法输入0(0x0)的
你应该写成
while ( s->date != '0')
用字符'0'来退出。
这样程序就正常了。