C++关键字final

C++ 11的新特性之final

final是说明符而不是关键字,这意味着可以将它用作标识符(override同样)

说明符final,用于阻止派生类覆盖特定的虚方法。或者是阻止一个类成为基类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Base {
virtual void f();
};

class A :Base {
void f() final; //override 也是最后一次override
void g() final; //Error 不能使用final修饰符声明非虚函数
};

class B final :A {
void f() override; //父类已经声明为final 不能被override
};

class C :B { //class B已声明为final 不能被继承
//
};

本文标题:C++关键字final

文章作者:Tokey

发布时间:2019年04月29日 - 11:04

最后更新:2019年07月05日 - 11:07

原始链接:http://TokeyRoad.github.io/2019/04/29/C++关键字final/

许可协议: 转载请保留原文链接及作者。

0%