final specifier
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
指定一个虚函数不能在派生类中被覆盖或一个类不能被继承
原文:
Specifies that a 虚函数 can not be overridden in a derived class or that a class cannot be inherited
目录 |
[编辑] 语法
function_declaration final ;
|
|||||||||
class class_name final base_classes
|
|||||||||
本章尚未完成 原因:function_declaration is probably wrong terminology |
[编辑] 解释
使用时,在一个虚拟的函数声明,
final
指定的功能可能无法派生类中重写.原文:
When used in a virtual function declaration,
final
specifies that the function may not be overridden by derived classes.final是一个具有特殊意义的一个成员函数的声明或类头在使用时的标识符。在其他情况下,它是没有保留,并且可以使用名称的对象和功能.
原文:
final is an identifier with a special meaning when used in a member function declaration or class head. In other contexts it is not reserved and may be used to name objects and functions.
[编辑] 示例
struct A { virtual void foo() final; }; struct B final : A { void foo(); // Error: foo cannot be overridden as it's final in A }; struct C : B // Error: B is final { };
[编辑] 另请参阅
- 覆盖说明 (C++11 起)