有人可以向我解释以下类定义的表示法在c++中如何工作
类名称1::名称2::名称3
{
...
...
...
}
我知道如何自行定义和使用类,但对“类名1::名2::名3”表示法以及如何使用它一无所知
非常感谢,
最佳答案
name1
,name2
是 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 {}; }
在写完这篇文章之后,我意识到了另一个可能性,可能比上述情况少见。
name1
和name2
都可以是类,例如: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/