C++ 从成员类访问非静态属性
我有以下两门课:C++ 从成员类访问非静态属性,c++,class,C++,Class,我有以下两门课: 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:
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的指针传递给该方法?我会认为我的代码“更好”只是调用“StimeSoF.MultMeod()”,而不是“StasyFo.B.Meod(this)”。
像你这样做的吗?你不能。在C++中,您需要明确地传递实例,唯一的例外是代码> < <代码> > /p>像您在java中嵌套的类一样吗?你不能,你为什么要这么做#好奇老实说:只是因为在我看来它更干净,而且它为你节省了最少的工作。正如我们在vz0的答案中看到的,人们似乎对Java支持嵌套类很感兴趣。我不知道Java中嵌套类的概念,但根据当时的示例,这似乎正是我想要的。谢谢你的回答,我会尽快接受。Java只是在封面下传递了一个指针。它没有实现任何你在这里无法实现的东西。在Java中,它的语法是在引擎盖下传递指针。