+ -
当前位置:首页 → 问答吧 → 【C++】C++私有成员访问权限的一个疑问

【C++】C++私有成员访问权限的一个疑问

时间:2010-07-26

来源:互联网

书上说一个类的私有成员只能自己的成员函数或者友元函数才有访问权限,但是请看下面的一个简单程序:
#include <iostream>
using namespace std;
class A
{
public:
        A();
        void foo(A & a);
        void print();
private:
        int x;
};

A::A()
{
        x = 1;
}

void A::foo(A & a)
{
        a.x = 2;
}
void A::print()
{
        cout << "x = " << x << endl;
}



int main(int argc, char ** argv)
{
        A test1, test2;

        test1.foo(test2);
        test2.print();

}


foo函数中为什么能访问到其他同类对象的私有成员呢?我认为即使是同类的两个对象,应该不能彼此的私有成员,就好象每一个个体人,都属于人类,但不能获取其他人的隐私一样啊?
correct me if am wrong!

作者: pengxihan   发布时间: 2010-07-26

没看代码,
一个类的私有成员只能自己的成员函数或者友元函数才有访问权限

作者: phy0077   发布时间: 2010-07-26

相关阅读 更多