C++ Final或Sealed

Fra*_*ler 2 c++ final sealed

考虑以下课程:

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)

什么是两个关键字之间的主要差异finalsealed?我知道他们的基本目的和用途; 我只想知道两者之间是否有任何明显的不同.

Vit*_*meo 7

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

ISO C++ 11标准语言具有final关键字,Visual Studio支持该关键字.用于final标准类和sealedref类.