提问人:nobody00shader 提问时间:4/5/2023 最后编辑:nobody00shader 更新时间:4/5/2023 访问量:17
将复制赋值运算符与链表配合使用
Using copy assignment operator with linked list
问:
该main.cpp具有 list4 = list3 = list1,用于测试重载运算符
所有列表都有 3 个双精度,但列表 4 后面附加了一个额外的双精度,从而获得 4 个双精度。
我必须显示所有 3 个列表,但是在显示它们时,添加到列表 4 的双精度也出现在其他 2 个列表中。
// Class that is in a header file
class NumberList
{
private:
// Declare a structure for the list
struct ListNode
{
double value;
struct ListNode *next;
};
ListNode *head;
public:
NumberList()
{ head = NULL; }
NumberList(const NumberList& origObject);
NumberList& operator=(const NumberList& objToCopy);
~NumberList();
// Linked list operations
void appendNode(double);
void insertNode(double);
void deleteNode(double);
void displayList() const;
//copy assignment operator
};
NumberList& NumberList::operator=(const NumberList& objToCopy){
cout << "overlaoded operator" << endl;
if(this != &objToCopy){
delete head;
head = new ListNode;
*head = *(objToCopy.head);
}
return *this;
}
这就是我所拥有的赋值运算符,这是我无法开始工作的。我相信我必须使用 while 循环和附加。但我真的不知道该怎么办。
答: 暂无答案
评论