马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
就是我想有一个基类,然后一个单链表类继承他,但是总是有错误 可不可以帮我看一下啊#include<iostream>
using namespace std;
struct D_Node{
double data;
D_Node *next;
};
class Link_List{
public:
Link_List(int num); //初始化节点个数
virtual void Create(D_Node *pHead)=0; //创建单链表
//virtual void D_Insert(double element,int n)=0; //插入节点
virtual void showNode(D_Node *pHead)=0; //显示链表
//virtual void getNode(D_Node *pHead)=0; //获取节点个数
protected:
D_Node node;
int num;
};
Link_List::Link_List(int num){
this->num=num;
}
class S_Link_List:public Link_List{ //单链表 继承于Link_List
public:
S_Link_List();
S_Link_List(int num);
D_Node *getHead(){
return pHead;
} //获取头节点
virtual void Create(D_Node *pHead);
virtual void showNode(D_Node *pHead);
private:
D_Node *pHead;
};
S_Link_List::S_Link_List(int num):Link_List(num){
pHead=new D_Node;
pHead->next=NULL;
};
void S_Link_List::Create(D_Node *pHead){
D_Node *temp;
D_Node *p;
temp=pHead;
for(int i=1;i<num;i++){
int a;
p=new D_Node;
cin>>a;
p->data=a;
p->next=NULL;
temp->next=p;
}
temp->data=NULL;
delete temp,p;
}
void S_Link_List::showNode(D_Node *pHead){
cout<<"pHead->";
D_Node *temp;
temp=pHead;
while(temp->next!=NULL){
temp=temp->next;
cout<<temp->data<<"->";
}
delete temp;
cout<<endl;
}
int main(){
cout<<"下面创建单链表,请输入节点个数:";
int NO;
cin>>NO;
cout<<endl;
S_Link_List list(NO);
cout<<"请输入节点数据:";
list.Create(list.getHead());
cout<<endl<<"下面是创建的单链表:"<<endl;
list.showNode(list.getHead());
system("pause");
return 0;
}
|