C++最终或密封

C++ Final or Sealed

本文关键字:密封 C++      更新时间:2023-10-16

考虑以下类:

class X {
};

人们可以很容易地从中继承:

class Y : public X {
};

到目前为止还好...假设我们不希望任何人继承Y然后我们可以这样做。

class Y sealed : public X {
};

或者我们可以这样做:

class Y final : public X 
};

finalsealed这两个关键词的主要区别是什么?我知道它们的基本目的和用途;我只是想知道两者之间是否有任何特别的不同之处。

sealed不是标准C++ - 它似乎是Visual C++ CX扩展。从同一页面:

ISO C++11 标准语言具有 final 关键字,Visual Studio 支持该关键字。在标准类上使用final,在 ref 类上使用sealed