C++最终或密封
C++ Final or Sealed
考虑以下类:
class X {
};
人们可以很容易地从中继承:
class Y : public X {
};
到目前为止还好...假设我们不希望任何人继承Y
然后我们可以这样做。
class Y sealed : public X {
};
或者我们可以这样做:
class Y final : public X
};
final
和sealed
这两个关键词的主要区别是什么?我知道它们的基本目的和用途;我只是想知道两者之间是否有任何特别的不同之处。
sealed
不是标准C++ - 它似乎是Visual C++ CX扩展。从同一页面:
ISO C++11 标准语言具有
final
关键字,Visual Studio 支持该关键字。在标准类上使用final
,在 ref 类上使用sealed
。