【发布时间】:2021-05-31 13:40:49
【问题描述】:
我正在为我的面向对象编程课程编写一个单链表的实现。在程序中,我编写了一个名为Polynomial 的类,它实现了链表并允许我对其进行修改。链表中的节点包含两个字段:术语和指向下一个节点的指针。该术语是一个包含两个字段的结构:系数和指数。
到目前为止,我已经正确实现了该类及其方法,但是我在项目中遇到了一个需要帮助的问题。其中一个要求是我们实现了一个移动分配(?)和一个移动构造函数。不幸的是,我们的老师没有详细说明这些是什么或如何实施它们,现在我完全迷失了。我已经实现了 Copy Assignment 和 Copy Constructor,但是我不知道如何实现 Move Assignment 和 Move Constructor。
这是课程:
class Polynomial {
Node* Head;
int size = 0;
public:
Polynomial(); // default constructor
Polynomial(const Polynomial& v); // copy constructor
~Polynomial();
void addTerm(Term term);
unsigned int degree() const;
double coefficientFor(unsigned int exponent) const;
void clear();
// Copy Assignment Operator
Polynomial& operator=(const Polynomial& rhs);
private:
void DeleteInvalidNode();
};
有什么方法可以帮助我实现这个实现以及它的目的是什么?
【问题讨论】:
标签: c++ constructor linked-list nodes