从成员类访问非静态属性

Access non-static property from member class

本文关键字:静态 属性 访问 成员类      更新时间:2023-10-16

我有以下两个类:

class B
{
    public:
        B();
        ~B();
        void Method()
        {
            //Possible to access "int Member" of class A here without passing a pointer?
        }
};
class A
{
    private:
        class B;
    public:
        A();
        ~A();
        int Member;
};

B类实例只在A类中构造。现在是否可以在B类的方法中访问A类的非静态成员,而不显式地将A的指针传递给该方法?我认为我的代码"更好",只调用"InstanceOfB.Method()"而不是"InstanceOfB.Method(this)"。

就像在Java中使用嵌套类一样?你不能。在C++中,您需要显式地传递实例,唯一的例外是this