"this"嵌套类中的关键字C++

"this" keyword in C++ nested classes

本文关键字:关键字 C++ this 嵌套      更新时间:2023-10-16

如果我有以下嵌套类:

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关键字是否是指层次结构中上游的所有类?

嵌套

类中的此关键字是否是指层次结构中上游的所有类?

否,仅限"当前"类。类嵌套主要是词汇问题。与Java不同,在Java中,内部类可以与封闭外部类的实例相关联,foo::bar与任何其他未嵌套的类非常相似。

如果要将bar的实例与foo的实例相关联,则需要在bar中捕获指向foo的引用或指针。