多态与虚函数表
是什么
同一操作可以根据对象的类型产生不同的行为
ps: C++能够 0成本抽象
为什么
灵活, 可拓展, 简化代码
怎么样
-
在父类函数前加virtual, 在子类中重写这个虚函数. 我们都用父类的指针来指向 new出的不同种类的对象. 此时这个指针很神通广大, 当调用父类的方法时, 会根据子类的种类来调用其函数.
-
使用了虚函数表:
-
每个类都有一个虚函数表, 子类继承父类, 会产生一个新的虚函数表, 但子类虚函数地址还是父类的那个. 重写虚函数, 派生类虚函数表中才放重写的新地址.
-
每new一个对象, 如果有virtual就会产生一个虚函数指针, 指向对应的虚函数表.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)