重载赋值运算符的函数为什么可以用const修饰
这个是书上的列子
const Array &Array::operator=(const Array &right)
{
if(&right != this )
{
if(size != right.size;
{
delete []ptr;
size = right.size;
ptr = new int [size];
}
}
for (int i = 0;i < size;i++)
ptr[i] = right.ptr[i];
}
函数中有改变数据成员的值 为什么还可以声明为const??
[解决办法]
const Array &Array::operator=(const Array &right) const
{ ... }
参数表后的 const 才是 只读性 函数成员 的定义标记吧