如果我有以下嵌套类:
class foo {
public:
class bar {
public:
int barMethod() const;
protected:
int barVar;
};
protected:
int fooVar;
};
然后在.cpp中,我可以用这种方式实现barMethod()
吗?
int foo::bar::barMethod() const {
return this->fooVar + this->barVar;
}
我的意思是:
嵌套类中的this
关键字是指层次结构中上游的所有类吗?
答案 0 :(得分:6)
嵌套类中的这个关键字是指层次结构中上游的所有类吗?
不,仅限“当前”课程。类嵌套主要是词法。与Java相比,内部类可以与封闭外部类的实例相关联,foo::bar
与任何其他未嵌套的类非常相似。
如果要将bar
的实例与foo
的实例相关联,则需要在foo
中捕获指向bar
的引用或指针。