我不明白为什么在这种情况下在运算符重载功能之前使用const
:
常量 LinkedList和LinkedList :: operator =(const LinkedList和rhs)
是否有必要使用它?它的功能是什么?在LinkedList类中,我想重载“ =”运算符,例如说
来复制我的LinkedList。LinkedList list1;
.
.
.
LinkedList list2 = list1
将复制list1并创建list2。我可以使用副本构造函数克隆和创建副本列表。
下面是我的代码:
class LinkedList
{
private:
node * head;
int size;
public:
LinkedList ();
LinkedList (const LinkedList &); //copy constructor
~LinkedList (); //destructor
void printList() const;
void addToBeginning(int n);
void deleteList ();
const LinkedList & LinkedList::operator = (const LinkedList & rhs);
node * createClone () const;
};
const LinkedList & LinkedList::operator = (const LinkedList & rhs)
{
if (this != &rhs)
{
deleteList();
head = rhs.createClone();
size = rhs.size;
}
return *this;
}