为什么对象的私有成员可以访问相同类型的对象?

时间:2016-01-08 09:52:44

标签: c++ private

我惊讶地发现这会编译。

class A
{
    int i;
public:
    A() {}
    A(A &a) {i = a.i;}
};

int main(void)
{
    A a1;
    A a2(a1);
}

即,对象a2可以访问对象a1的私有成员。为什么会出现这种情况,为什么这有用呢?如果需要,如何限制此访问?

0 个答案:

没有答案