C++ 虚函数与多态

语法上,在成员函数前加上virtual 关键字,就成了虚函数

非虚函数:不希望子类重新定义(覆写override)父类的函数

虚函数:希望派生类覆写父类,且父类已经对该函数有定义

纯虚函数:希望子类一定要覆写父类该函数,父类中没有定义该函数(只是声明)

Template Method(设计模式-模板模式)

定义一个操作中算法的骨架,而将一些操作延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构,即可重定义该算法的某些特定步骤。(GOF: 《设计模式》)

父类CDocument中的OnFileOpen函数会调用Serialize(),而Serialize(),在父类中是虚函数,具体实现根据子类CMyDoc中覆写的Serialize()实现。

相关推荐
代码狂人19 分钟前
Lua中使用module时踩过的坑
开发语言·lua
繁依Fanyi26 分钟前
ColorAid —— 一个面向设计师的色盲模拟工具开发记
开发语言·前端·vue.js·编辑器·codebuddy首席试玩官
darkchink36 分钟前
[LevelDB]LevelDB版本管理的黑魔法-为什么能在不锁表的情况下管理数据?
c语言·数据库·c++·oracle·数据库开发·dba·db
易只轻松熊43 分钟前
C++(23):容器类<vector>
开发语言·数据结构·c++
ha20428941941 小时前
c++学习之--- list
c语言·c++·学习·list
Lu Yao_1 小时前
用golang实现二叉搜索树(BST)
开发语言·数据结构·golang
君鼎1 小时前
muduo库TcpServer模块详解
linux·网络·c++
沐土Arvin2 小时前
前端图片上传组件实战:从动态销毁Input到全屏预览的全功能实现
开发语言·前端·javascript
找不到、了2 小时前
Spring-Beans的生命周期的介绍
java·开发语言·spring
(・Д・)ノ2 小时前
python打卡day29
开发语言·python