CRenderDevice

为什么不用纯虚函数?

有几个可能的设计原因:

  1. 保留默认行为

    • 如果有些函数在大多数情况下逻辑类似,可以在基类里写一个默认版本。

    • 子类只在必要时才重写,减少代码重复。

  2. 允许实例化基类

    • 如果用纯虚函数,CRenderDevice 就不能实例化。

    • 但有时候作者可能希望基类能作为一个“通用渲染设备”用(即便功能有限)。

  3. 兼容性

    • 可能早期这个引擎只支持一个渲染后端(比如 RenderWare)。

    • 作者一开始写了默认实现,后来才扩展到多个子类。

    • 所以没改成纯虚函数。

posted on 2025-10-07 23:36  lydstory  阅读(6)  评论(0)    收藏  举报

导航