最终 class 的嵌套 class 是否自动最终?
Is a nested class of a final class automatically final?
我在最终 class 中嵌套了 class。这个嵌套 class 被 C++ 标准认为是最终的,还是仍然可以从内部 class 继承?
class A final
{
public:
class B
{
...
};
class C: public B; // is this allowed (MSVC accepts it)?
...
};
class D: public A::B; // is this allowed (MSVC accepts it)?
Visual studio 两者都接受。为什么?
Visual studio accepts both. Why?
因为它是合法的。标准中没有任何内容使嵌套的 class 成为最终的,仅仅因为它包含的 class 是最终的。
我在最终 class 中嵌套了 class。这个嵌套 class 被 C++ 标准认为是最终的,还是仍然可以从内部 class 继承?
class A final
{
public:
class B
{
...
};
class C: public B; // is this allowed (MSVC accepts it)?
...
};
class D: public A::B; // is this allowed (MSVC accepts it)?
Visual studio 两者都接受。为什么?
Visual studio accepts both. Why?
因为它是合法的。标准中没有任何内容使嵌套的 class 成为最终的,仅仅因为它包含的 class 是最终的。