final specifier

来自cppreference.com
< cpp‎ | language

 
 
C++语言
表达式
替代表示
字面量
布尔型 - 整型 - 浮点型
字符型 - 字符串 - nullptr (C++11)
用户定义 (C++11)
Utilities
属性 (C++11)
Types
typedef声明
类型别名声明 (C++11)
Casts
隐式类型转换 - 显示类型转换
static_cast - dynamic_cast
const_cast - reinterpret_cast
内存分配
类特有的函数属性
虚函数
override说明符 (C++11)
final说明符 (C++11)
静态成员函数
模板
杂项
 
指定一个虚函数不能在派生类中被覆盖或一个类不能被继承
原文:
Specifies that a 虚函数 can not be overridden in a derived class or that a class cannot be inherited
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 语法

function_declaration final ;
class class_name final base_classes

[编辑] 解释

使用时,在一个虚拟的函数声明,final指定的功能可能无法派生类中重写.
原文:
When used in a virtual function declaration, final specifies that the function may not be overridden by derived classes.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
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.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 示例

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
{
};

[编辑] 另请参阅