考虑以下课程:
class X {
};
Run Code Online (Sandbox Code Playgroud)
人们可以很容易地继承下去:
class Y : public X {
};
Run Code Online (Sandbox Code Playgroud)
好吧到目前为止......假设我们不希望任何人继承,Y我们可以这样做.
class Y sealed : public X {
};
Run Code Online (Sandbox Code Playgroud)
或者我们可以这样做:
class Y final : public X
};
Run Code Online (Sandbox Code Playgroud)
什么是两个关键字之间的主要差异final和sealed?我知道他们的基本目的和用途; 我只想知道两者之间是否有任何明显的不同.
sealed不是标准C++ - 它似乎是Visual C++ CX扩展.从同一页面:
ISO C++ 11标准语言具有
final关键字,Visual Studio支持该关键字.用于final标准类和sealedref类.