嵌套友元有关问题求解

嵌套友元问题求解。
位置:<thing in c++>,第三章 3.3.1嵌套友元
文中说:一个嵌套的struct并不能自动的获得存取私有的权限。

<c++ primer>18.4 嵌套类
文中说:外围类对嵌套类的成员没有特殊的访问权限,并且嵌套类对外围类也没有特殊访问权限。

也就是说:外围类对不能访问嵌套类的private,嵌套类也一样。

C/C++ code

class Obj_A
{
public:
    Obj_A()
    {
        a = 10;
    }
    class Obj_B
    {
        friend class Obj_A;     //外围类要想访问嵌套类private成员必须声明为friend
    public:
        Obj_B()
        {
            a = 20;
        }
        void f(Obj_A a)
        {
            a.a = 1;      //嵌套类可以随意访问外围类的private成员
        }
    private:
        int a;
    };

    void f(Obj_B b)
    {
        b.a = 1;
    }
private:
    int a;
}; 


但嵌套类可以随意访问外围类的private成员啊,而且不用声明为友元。
是我理解错了,还是书上写的有问题?

换成struct一样的。


------解决方案--------------------
看这个帖子里我在 4# 的回答.
http://topic.****.net/u/20120409/11/85d22e1b-d8ff-416c-ba91-ee80f80bdf3b.html