У меня есть два класса Person
и Node
.Вот что у меня есть:
(Обратите внимание, что все в одном файле cpp, я просто разделяю его для лучшего просмотра.)
Заголовочные файлы
#include <cstdio>
#include <iostream>
using namespace std;
Персональный класс
class Person
{
int age;
string name;
void setage(int age)
{
this->age = age;
}
void setname(string name)
{
this->name = name;
}
int getage()
{
return this->age;
}
string getname()
{
return this->name;
}
};
Узловой класс
class Node
{
public:
Node * Next;
Node * Prev;
Person * Data;
Node * Head;
Node * Tail;
Node()
{
Node * Head = NULL, *Tail = NULL;
}
void AppendNode(Node * pNode)
{
if (Head == NULL)
{ //if list is empty
Head = pNode; //make head point to pNode
pNode->Prev = NULL;
}
else
{
Tail->Next = pNode; //make tail point to pNode
pNode->Prev = Tail;
}
Tail = pNode; //tail is now pNode
pNode->Next = NULL; //pNode next now points to NULL
}
void display(Node * pNode)
{
for (pNode = Head; pNode != NULL; pNode = pNode->Next)
cout << pNode->Data << endl;
}
};
Основной
int main()
{
Node * pNode;
//Add items to linked list
for (int i = 0; i < 10; i++)
{
pNode = new Node(); //allocate
pNode->Data->setage(i);
pNode->AppendNode(pNode);
}
pNode->display(pNode);
/* for(pNode = pHead; pNode != NULL; pNode = pNode->pNext)
cout<<pNode->nData<<endl;
*/
return 0;
}
Я думаю, что я делаю это неправильно, но это то, что у меня есть.Я добавляю данные в список.Вы можете увидеть код здесь в онлайн-компиляторе https://onlinegdb.com/Hk87R0UvS
вопрос в том, что я не могу добавить в список