#include <iostream>
using namespace std;

class Test
{
public:
    Test(int _a):a(_a)
    {

    }
    Test& operator=(const Test& ra)
    {
        if(&ra != this)
        {
            const_cast<int &>(a) = ra.a;
        }
        return *this;

    }
    //for test
    int getA()
    {
        return a;
    }
private:
    const int a;
};

int main()
{
    Test a(1);
    cout<< a.getA() <<endl;
    Test b(2);
    cout<< b.getA() <<endl;
    b = a;
    cout<< b.getA() <<endl;
}

相关文章: