我对 C++ 中 Class 的私有成员有疑问:
我有一个这样定义的类:
class Hello
{
private:
int a[2][2] = {{1,1},{2,2}};
public:
int* getA();
} hello;
a
是一个数组,它是类 hello 的私有成员,它被保护不能从类外部访问,但是如果我使用getA()
这样的方式返回数组 a 的地址:
int* Hello::getA()
{
return &a[2][2];
}
并且在类之外hello
使用一个变量来保持这样的地址a[2][2]
:
int* i = getA();
有i
地址a[2][2]
吗?我们可以像这样修改array
类的外部吗?仍然受关键字保护吗?a[2][2]
private