我有以下两个类:
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
。