我正在尝试我的第一个有用的面向对象程序,其中包含一些命名空间 我有一个基类B,它位于名称空间NS中.如果我尝试从这个基类继承以获得继承工作,我应该在类decleration中使用NS :: B,如下所示,这是真的吗?或者是否有更广泛接受的继承语法?
namespace NS
{
class D: public NS::B{
...
};
}
Run Code Online (Sandbox Code Playgroud)
最好的,Umut
当您在命名空间内时NS,通常不需要(1)限定命名空间中的函数,类或其他实体的名称NS.鉴于:
namespace NS {
class B { };
}
Run Code Online (Sandbox Code Playgroud)
以下两个定义D是相同的:
namespace NS {
class D : public NS::B { };
}
Run Code Online (Sandbox Code Playgroud)
和:
namespace NS {
class D : public B { };
}
Run Code Online (Sandbox Code Playgroud)
(1)Argument-Dependent Lookup(ADL)可能会导致一些丑陋的问题,特别是在使用模板时,为了修复它们,您可能需要限定名称.
| 归档时间: |
|
| 查看次数: |
9981 次 |
| 最近记录: |