关于c++实现单链表的问题 2C

Link_List为基类,S_Link_List是继承的单链表,现在只写了单链表的创建和显示,求大佬帮帮忙

 #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;
}

1个回答

图片说明
图片说明
楼主的做法是第一个链表不使用,从第二个开始么

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问