gpt4 book ai didi

c++ - 如何用 2 个 LinkedLls 重载 +=

转载 作者:行者123 更新时间:2023-11-30 04:44:35 25 4
gpt4 key购买 nike

我不明白如何获取 2 个 LinkedList,并将其中的对象相互添加。即,将 LinkedList2 的节点添加到 LinkedList1。

我目前的代码是我试过的,但我不知道如何访问多个对象,因为 cygwin 告诉我我只能有一个参数。

int main()
{
LinkedList firstList, secondList;
firstList += secondList;

}
void LinkedList::operator +=(LinkedList lst)
{
Node* temp = lst.get_head();
while (temp != NULL)
{
Node::value_type student = temp->get_data();
"WHAT DO I ADD HERE".addToTail(student);
temp = temp->get_next();
}
delete temp;
}

让我们在“我在这里添加什么”中说,因为 Cygwin 说我只能传入一个对象,所以我希望能够将第二个列表中的对象添加到第一个列表中。但我不明白传递的是什么,无论是列表 1 还是列表 2,以及如何添加到另一个。

最佳答案

在查看您的问题时,您还应该明白,在添加“LHS += RHS”时,您是在左加右加。这意味着您正在传递 RHS(右侧),在您的情况下它似乎是 secondList。如果你使用“This->addToTail”应该没问题。此外,您不需要 Delete,因为它只是一个局部变量,不会从堆栈中占用内存。

关于c++ - 如何用 2 个 LinkedLls 重载 +=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57674142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com