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

时间:2018-05-02 09:39:45

标签: c++ class nested this

如果我有以下嵌套类:

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

1 个答案:

答案 0 :(得分:6)

  

嵌套类中的这个关键字是指层次结构中上游的所有类吗?

不,仅限“当前”课程。类嵌套主要是词法。与Java相比,内部类可以与封闭外部类的实例相关联,foo::bar与任何其他未嵌套的类非常相似。

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