我有一个完全可用的 LinkedList,它使用 int 变量。我正在寻找改变它与对象一起工作的方式,但是当涉及到指针时,我感到卡住了。有什么建议吗?
这是节点结构:
typedef struct Node
{
int data;
Node* next;
}* nodePointer;
这是 AddNode 函数:
void LinkedList::addNode(int dataToAdd)
{
nodePointer nodeToAdd = new Node;
nodeToAdd->next = NULL;
nodeToAdd->data = dataToAdd;
if(head != NULL)
{
current = head;
while(current->next != NULL)
{
current = current->next;
}
current->next = nodeToAdd;
}//end if
else
{
head = nodeToAdd;
}//end else
}//end addNode
是否只是一些简单的更改?
最佳答案
这取决于您将使用的对象类型。
对于默认 =
操作有意义的任何类,您可以使用与现在相同的代码,将 int
替换为您的对象类型。
对于更复杂的对象(例如,持有指向动态分配成员的指针的对象),您必须为此类定义适当的 =
运算符或使用复制函数来确保该对象已正确复制
关于c++ - 更改 LinkedList 以接受对象而不是 Int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22494550/