如果数据成员有更多不同的名称,错误可能更容易发现。
下面是简单的链表代码:
#include <iostream>
using namespace std;
class link
{
public:
int data;
double ddata;
link *next;
link(int id,double dd){
data=id;
ddata=dd;
}
void diplay(){
cout<<data<<" ";
cout<<data<<" ";
}
};
class linkedlist{
private :
link *first;
public:
linkedlist(){
first=NULL;
}
bool empthy(){
return (first==NULL);
}
void insertfirst(int id,double dd){
link *newlink=new link(id,dd);
newlink->next=first;
first=newlink;
}
link* deletefirst(){
link *temp=first;
first=first->next;
return temp;
}
void display(){
cout<<" (list ( first -> last ) ) ";
link *current=first;
while(current!=NULL){
current->diplay();
current=current->next;
}
cout<<endl;
}
};
int main(){
linkedlist *ll=new linkedlist();
ll->insertfirst(22,2.99);
ll->insertfirst(34,3.99);
ll->insertfirst(50,2.34);
ll->insertfirst(88,1.23);
ll->display();
return 0;
}
但是它给我意想不到的结果。它输出88 88 50 50 34 34 22 22而不是(88,1.23)(50,2.34)(34,3.99)(22,2.99)
void diplay(){
cout<<data<<" ";
cout<<ddata<<" ";
}
将display
函数替换为此代码。(不是打印data
和ddata
,而是打印两次数据)
您打印了两次data
:
cout<<data<<" ";
cout<<data<<" ";
假设你想打印出data
和ddata
:
cout<<data<<" ";
cout<<ddata<<" ";