Ale*_*lex 0 c++ virtual
我正在编写一个抽象的超类,其中每个方法都将被覆盖.我可以实现一些默认功能,但大多数时候它足以将实现留给子类编写器.
因为几乎所有的方法都会被覆盖,我应该多少虚拟化,我应该作为常规方法离开多少?在目前的版本中,一切都是虚拟的,但我仍然没有让任何人使用它,所以设计是灵活的.
虚拟功能有哪些优点/缺点?有关这方面的良好阅读材料的链接将不胜感激.
Pup*_*ppy 5
虚函数调用比非虚函数调用慢,但如果需要运行时多态,则别无选择.虚函数调用具有大致恒定的开销,无论您拥有多少,因此没有什么不利之处.您可以看到许多专业类的设计 - 如IDirect3D9Device-在一个类中有许多很多虚拟方法.
归档时间:
15 年,4 月 前
查看次数:
216 次
最近记录: