C++ 虚函数与多态

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

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

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

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

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

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

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

相关推荐
土了个豆子的5 小时前
04.事件中心模块
开发语言·前端·visualstudio·单例模式·c#
@菜菜_达5 小时前
Lodash方法总结
开发语言·前端·javascript
GISer_Jing5 小时前
低代码拖拽实现与bpmn-js详解
开发语言·javascript·低代码
@areok@6 小时前
C++mat传入C#OpencvCSharp的mat
开发语言·c++·opencv·c#
小王C语言6 小时前
【C++进阶】---- map和set的使用
开发语言·c++
Elnaij6 小时前
从C++开始的编程生活(8)——内部类、匿名对象、对象拷贝时的编译器优化和内存管理
开发语言·c++
yb0os17 小时前
RPC实战和核心原理学习(一)----基础
java·开发语言·网络·数据结构·学习·计算机·rpc
liuyao_xianhui7 小时前
内存管理(C/C++)
java·开发语言·c++
饭碗的彼岸one7 小时前
C++设计模式之单例模式
c语言·开发语言·c++·单例模式·设计模式·饿汉模式·懒汉模式
Tim_107 小时前
【算法专题训练】20、LRU 缓存
c++·算法·缓存