CRenderDevice
为什么不用纯虚函数?
有几个可能的设计原因:
-
保留默认行为
-
如果有些函数在大多数情况下逻辑类似,可以在基类里写一个默认版本。
-
子类只在必要时才重写,减少代码重复。
-
-
允许实例化基类
-
如果用纯虚函数,
CRenderDevice就不能实例化。 -
但有时候作者可能希望基类能作为一个“通用渲染设备”用(即便功能有限)。
-
-
兼容性
-
可能早期这个引擎只支持一个渲染后端(比如 RenderWare)。
-
作者一开始写了默认实现,后来才扩展到多个子类。
-
所以没改成纯虚函数。
-
浙公网安备 33010602011771号