C++ final 和 override 说明符
来源:互联网 发布:mac怎么文件夹压缩 编辑:程序博客网 时间:2024/05/22 08:27
1、final
Specifies that a virtual function cannot be overridden in a derived class or that a class cannot be inherited from.——http://en.cppreference.com/
它可以指定一个虚函数不能被覆盖或者一个类不能被继承
struct Base{ virtual void foo();}; struct A : Base{ virtual void foo() final; // A::foo is final void bar() final; // Error: non-virtual function cannot be final}; struct B final : A // struct B is final{ void foo(); // Error: foo cannot be overridden as it's final in A}; struct C : B // Error: B is final{};2、override
Specifies that a virtual function overrides another virtual function.
——http://en.cppreference.com/
如果被指定的函数未覆盖基类中的虚函数,将报错
struct A{ virtual void foo(); void bar();}; struct B : A{ void foo() const override; // Error: B::foo does not override A::foo // (signature mismatch) void foo() override; // OK: B::foo overrides A::foo void bar() override; // Error: A::bar is not virtual};
这两个说明符可能在一般的教材中很少提到,但非常有用,可以避免无意写错了参数导致出现难以发现的错误。
0 0
- C++ final 和 override 说明符
- ## C++11中 final 和 override 说明符
- C++:override和final
- c++11 final与override说明符
- Override和final
- final和override的用法
- C++11 override 和 final
- C++11 override 和 final
- “OVERRIDE”: 未知重写说明符
- override 说明符的用法
- C++11 特性:显式 override 和 final
- c++11学习 override 和 final 关键字
- c++11之override和final
- swift override和final的用法浅谈
- virtual和override(C#)
- C++:overload, override和overwrite
- C++11 新特性:显式 override 和 final
- C++11 新特性:显式 override 和 final
- mysql数据库优化原则
- 苹果加急审核详细步骤
- linux系统中的信号处理
- 项目0-宣告“主权”
- 第二周项目3-体验复杂度-两种排序算法的运行时间
- C++ final 和 override 说明符
- 第二周项目0-宣告“主权”
- ResourceUtils
- 关于hashMap的一
- android sdk自带的fragment标签使用
- 部署命令
- IOS--备忘,获取外网IP
- Linux 驱动之模块参数和符号导出
- 程序设计作业报告模板