为什么在运算符重载前使用const

时间:2019-11-02 17:00:05

标签: c++ class operator-overloading const

我不明白为什么在这种情况下在运算符重载功能之前使用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;
}

0 个答案:

没有答案