C++ Final 或 Sealed
C++ Final or Sealed
考虑以下 class:
class X {
};
一个人可以很容易地继承它:
class Y : public X {
};
到目前为止...假设我们不希望任何人继承 Y
我们可以改为这样做。
class Y sealed : public X {
};
或者我们可以这样做:
class Y final : public X
};
final
和 sealed
这两个关键字之间的主要区别是什么?我知道它们的基本用途和用途;我只是想知道这两者之间有没有什么特别的不同。
sealed
不是标准 C++ - 它似乎是 Visual C++ CX extension。来自同一页面:
The ISO C++11 Standard language has the final
keyword, which is supported in Visual Studio. Use final
on standard classes, and sealed
on ref classes.
考虑以下 class:
class X {
};
一个人可以很容易地继承它:
class Y : public X {
};
到目前为止...假设我们不希望任何人继承 Y
我们可以改为这样做。
class Y sealed : public X {
};
或者我们可以这样做:
class Y final : public X
};
final
和 sealed
这两个关键字之间的主要区别是什么?我知道它们的基本用途和用途;我只是想知道这两者之间有没有什么特别的不同。
sealed
不是标准 C++ - 它似乎是 Visual C++ CX extension。来自同一页面:
The ISO C++11 Standard language has the
final
keyword, which is supported in Visual Studio. Usefinal
on standard classes, andsealed
on ref classes.