有人可以向我解释以下类定义的表示法在c++中如何工作

类名称1::名称2::名称3
{
...
...
...
}

我知道如何自行定义和使用类,但对“类名1::名2::名3”表示法以及如何使用它一无所知

非常感谢,

最佳答案

name1name2是 namespace ,而name3是类的名称。命名空间可帮助您组织代码。我从来没有见过class name1::name2::name3 { ... ... ... },尽管有一种情况,当在 namespace 中向前声明一个类但可以在另一个名称中定义一个类时,可以使用它,例如:

namespace foo { class bar; }

class foo::bar {};

但是,这不是很常见,如果可能的话,您可以在声明该名称的同一个 namespace 中定义该类,例如
 namespace foo { class bar; }
 // then possibly elsewhere
 namespace foo { class bar {}; }

在写完这篇文章之后,我意识到了另一个可能性,可能比上述情况少见。 name1name2都可以是类,例如:
class name1 {
    class name2 {
        class name3;
    };
};

// now define name3:
class name1::name2::name3 {};

关于c++ - 如何在C++中使用 “class name1::name2::name3”表示法定义类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58992179/

10-11 22:23
查看更多