常量赋值运算符的云雾

class CTest{
private:
    int m_nValue;
public:

    int GetValue() const
    {
        return m_nValue;
    }
    void SetValue(int nValue)
    {
        m_nValue=nValue;
    }
    const CTest& operator=(const CTest& t1) const
    {
        //m_nValue=t1.GetValue();

    }
};

上面的const CTest& operator=(const CTest& t1) const

是我们非常关注的焦点,三个const,第一个const 限制我们不能修改当前的类,第二个const 不能修改传递的引用,第三个const 不能修改此类的任何成员和第一个const用法一致。我在想这个函数返回值是多少,也就是赋值运算符这样限制之后,有什么意义??

你可能感兴趣的:(运算符,赋值操作)