首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

重载赋值运算符的函数为什么可以用const修饰,该怎么解决

2012-04-16 
重载赋值运算符的函数为什么可以用const修饰这个是书上的列子const Array &Array::operator(const Array

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

热点排行