首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用“类名称1::name2::name3”符号在c++中定义类

如何使用“类名称1::name2::name3”符号在c++中定义类
EN

Stack Overflow用户
提问于 2019-11-22 10:22:25
回答 1查看 311关注 0票数 1

有人能解释一下下面的类定义在c++中是如何工作的吗?

类名称1::name2::name3{.}

我知道如何单独定义和使用类,但对“类名1::name2::name3”表示法以及如何使用它一无所知。

非常感谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-22 10:30:08

name1name2是名称空间,而name3是类的名称。名称空间可以帮助您组织代码。我从未在野外看到过class name1::name2::name3 { ... ... ... },尽管在这样一种情况下,当类在名称空间中进行前向声明,但在另一个名称空间中定义时,您可以使用它,例如:

代码语言:javascript
运行
复制
namespace foo { class bar; }

class foo::bar {};

但是,这种情况并不常见,如果可能的话,您将在声明该类的名称空间中定义类,例如

代码语言:javascript
运行
复制
 namespace foo { class bar; }
 // then possibly elsewhere
 namespace foo { class bar {}; }

写完这篇文章后,我意识到了另一种可能,这可能比上面提到的要少一些。name1name2都可以是类,例如:

代码语言:javascript
运行
复制
class name1 {
    class name2 {
        class name3;
    };
};

// now define name3:
class name1::name2::name3 {};
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58992179

复制
相关文章

相似问题

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