读书人

重载赋值运算符的函数为什么可以用con

发布时间: 2012-04-16 16:20:04 作者: rapoo

重载赋值运算符的函数为什么可以用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 才是 只读性 函数成员 的定义标记吧

读书人网 >C++

热点推荐