设为首页 加入收藏

TOP

显式重载虚函数(C++11特性)
2014-11-24 11:07:38 来源: 作者: 【 】 浏览:0
Tags:重载 函数 特性

GCC4.7.0已经支持C++11标准的大部分功能了,今天尝试了下C++11的显式重载虚函数机制,感觉还是非常灵活的,语法结构如下:



(1)显式重载基类虚函数fun1


(2)显式重载final的基类虚函数,编译错误。final语法禁止派生类重载该虚函数。


(3)隐式重载基类final虚函数,编译错误。


(4)不声明virtual并隐式重载基类final虚函数,编译错误。


(5)隐式重载基类虚函数,跟(1)比较有个缺陷:如果基类中不存在这个虚函数在编译期无法检测到错误


(6)显式重载基类的普通成员函数,override只能重载虚函数,故编译错误。


(7)重新声明fun4函数为虚函数,覆盖基类的fun4而不是重载。


(8)显式重载基类虚函数fun5而不许要明确声明virtual。


综上所述:


(1)在派生类中重载基类虚函数应该显式使用override,避免重载基类中不存在的虚函数,会在编译期检查到错误。


(2)如果想终止基类中的虚函数方法,而在B的类中不被重载需要明确的添加final修饰。


(3)一旦一个的类的成员函数被声明为虚函数,那么就要么被重载要么被禁止重载,永远无法覆盖。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ARM 2440——Nand flash启动模式.. 下一篇Android Training - 暂停和恢复一..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·有没有哪些高效的c++ (2025-12-27 08:20:57)
·Socket 编程时 Accep (2025-12-27 08:20:54)
·计算机网络知识点总 (2025-12-27 08:20:52)
·一篇说人话的文章, (2025-12-27 07:50:09)
·Python Web框架哪家 (2025-12-27 07:50:06)