首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++中的内部类会自动成为好友吗?

C++中的内部类会自动成为好友吗?
EN

Stack Overflow用户
提问于 2011-02-16 15:37:05
回答 1查看 22.8K关注 0票数 81

如果我在C++中定义一个内部类,它会自动成为包含它的类的朋友吗?例如,这是否合法:

class Outer {
public:
    class Inner {
    public:
        void mutateOuter(Outer& o);
    };

private:
    int value;
};

void Outer::Inner::mutateOuter(Outer& o) {
    o.value ++; // Legal?  Or not?
}

我之所以这样问,是因为在我尝试过的一些编译器(VS2003)上,这段代码不能工作,但我至少听说过它可以在一些编译器上工作。我在C++规范中找不到关于这一点的相关部分,如果有人能引用一些具体的东西来说明它是合法的还是不合法的,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2011-02-16 15:40:35

我不知道确切的位置,但我记得通过阅读规范,发现类中的任何私有数据对所有其他类都是隐藏的,包括嵌套类。

基本上,嵌套类定义了某个范围,而不是访问权限。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5013717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档