Я пытаюсь реализовать простой связанный список, используя c ++.Я, вероятно, где-то делаю глупую ошибку. Благодаря этому я хочу изучать классы и указатели на C ++.Для кода
#include <iostream>
using namespace std;
class node
{
public:
node* next;
int data;
node(int d);
void append(int d);
};
node::node(int d)
{
data = d;
next = NULL;
}
void node::append(int d)
{
node nw = node(d);
if(next==NULL)
next = &nw;
else
{
node *n = next;
while((*n).next!=NULL)
{
n = (*n).next;
}
(*n).next = &nw;
}
}
я получаю 81 как узел рядом с 1.
int main()
{
node n = node(1);
n.append(3);
n.append(2);
n.append(81);
n = *(n.next);
cout<< n.data << '\n';
}
Пожалуйста, помогите мне выяснить, где я делаю ошибку.