问题出在代码中没有为head指针分配内存空间。在list类的构造函数中,应该为head指针动态分配一个stu结构体的内存空间。修改后的代码如下:
#include <iostream>
using namespace std;
typedef struct Student{
int score;
Student* next;
}stu;
class list{
private:
stu* head;
public:
list(){
head = new stu(); // 为head指针分配内存空间
head->next = NULL; // 初始化为空链表
}
~list(){
}
void add(int nu){
stu* stud = new stu();
stud->score = nu;
stud->next = NULL;
head->next = stud;
head = head->next;
}
void display(){
stu* temp = head->next;
while(temp != NULL){
cout << temp->score << " ";
temp = temp->next;
}
}
};
int main(){
list mylist;
mylist.add(90);
mylist.add(80);
mylist.add(70);
mylist.display();
return 0;
}
运行该代码,可以看到输出结果为:
这样就能够正常显示结果了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |