请教以下关于C++中单链表的问题
来源:百度知道 编辑:UC知道 时间:2024/07/04 23:10:48
要求创建一个自定义的单链表,并实现单链表的插入 删除操作
编译环境VC++6.0
编译无法通过
程序如下:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
struct Node
{
int num;
struct Node *next;
};
class LinkList
{
public:
LinkList();
void Createlist();
void Insertvalue(struct Node *);
void Deletevalue(struct Node *);
};
void LinkList::Createlist()
{
int i;
int n; //设置节点数
cout<<"please input the number of the node:"<<endl;
cin>>n;
struct Node *List,*Temp,*New;
List=(struct Node *)malloc(sizeof(struct Node)); //创建头节点并赋值
List->num=0;
Temp=List;
for(i=0;i<n;i++) //for循环创建n个新节点并赋值
{
New=(struct Node *)malloc(sizeof(struct Node));
New->next=NULL;
New->num=i;
Temp->next=New; //连接节点<
编译环境VC++6.0
编译无法通过
程序如下:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
struct Node
{
int num;
struct Node *next;
};
class LinkList
{
public:
LinkList();
void Createlist();
void Insertvalue(struct Node *);
void Deletevalue(struct Node *);
};
void LinkList::Createlist()
{
int i;
int n; //设置节点数
cout<<"please input the number of the node:"<<endl;
cin>>n;
struct Node *List,*Temp,*New;
List=(struct Node *)malloc(sizeof(struct Node)); //创建头节点并赋值
List->num=0;
Temp=List;
for(i=0;i<n;i++) //for循环创建n个新节点并赋值
{
New=(struct Node *)malloc(sizeof(struct Node));
New->next=NULL;
New->num=i;
Temp->next=New; //连接节点<
错误是因为构造函数:LinkList() 没有实现。
一种方法是:不自己定义默认构造函数:
//LinkList1();
注释掉这一句。
另一种是:既然定义了就要实现:
添加:
LinkList::LinkList()
{
};
就OK了。