我处于一种情况,我需要在另一类中引用一个类,并且我一直在对此进行SomeClass::
和其他任何操作。除了一个类,有什么办法可以做类似于using namespace
的事情吗?
我试过了:
using MyClass; // Namespace qualified name is required.
using MyClass::; // Expected an identifier
using namespace MyClass; // Name must be a namespace name
using namespace MyClass::; // Name followed by :: must be a class or namespace name
我知道C++中的较新功能之一就是继承了基类功能,例如
using BaseClass::BaseClass
,似乎有很多使用using
的方法。我想知道我是否可以做这个类?实际上,如果 namespace 是完全静态的,那么最好使用 namespace 而不是类。 最佳答案
简短答案,
不,你不能。
详细答案:
您的表达式(带有错误):
using MyClass; // Namespace qualified name is required.
using MyClass::; // Expected an identifier
using namespace MyClass; // Name must be a namespace name
using namespace MyClass::; // Name followed by :: must be a class or namespace name
:将无法正常工作。是的,当然,scope resolution operator的工作之一是在某些 namespace 范围内进行不合格的名称查找。但是,要使类(在类或其派生类的范围之外)具有相同的行为,C++必须至少回答和两个问题:
关于c++ - 有没有办法通过 “using”将类的成员拉入您的命名空间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46008476/