1
,如果我有以下几点:什么是受保护的,一旦一个对象声明为const C++
class Array{
public:
Array (int n=2) : _n(n), buf(new int[n]) {}
int & operator[](int i) const
{
return _buf[i];
}
int _n;
int* _buf;
};
int main()
{
Array arr1;
const Array arr2;
arr1[0]=1;
arr1[1]=2;
arr2[0]=arr1[0];
++arr2[0];
std:: << arr2[0]<<std::endl;
}
程序将编译,将打印“2”,但我是一个有点困惑。
arr2中的const声明究竟保护什么?
显然不是对象的内容?
请帮我理解。
谢谢!
这是因为你没有缩进你的代码。 – 2012-02-11 18:13:37