C++中编译器多态与运行期多态的优缺点是什么

这篇文章主要介绍C++中编译器多态与运行期多态的优缺点是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联公司从2013年开始,先为金昌等服务建站,金昌等地企业,进行企业商务咨询服务。为金昌企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

运行期多态

    运行期多态的设计思想要归结到类继承体系的设计思想上去,对于相关功能的对象的集合,我们总希望能够抽象出他们共有的功能的集合,在基类中将这些功能声明为虚接口(虚函数),然后由子类继承类去重写这些虚接口,以实现子类特有的功能。

总结:运行期多态通过虚函数发生于运行期

优点

  1. 设计中重要的特性,对客观世界的直觉认识

  2. 能够处理同一继承体系下异质类集合

缺点

  1. 运行期间进行虚函数的绑定,提高了程序的运行时开销

  2. 庞大的类继承层次,对接口的修改易影响类继承层次

  3. 由于虚函数在运行期间确定,所以编译器无法对虚函数优化

编译器多态

     对于模板参数而言,多态是通过模板具体和函数重载实现的,不同的模板具体导致调用不同的函数,这就是编译器多态。相较于运行期多态,实现编译器多态之间的类不需要继承体系,约束他们的是隐式接口。

缺点

  1. 代码调试带来困难

  2. 无法实现模板的额分离编译,当工程很大时,编译时间不可小觑

  3. 无法处理异质类对象的集合

名词解释

函数重写:当子类定义了一个与父类完全相同的虚函数时,则称子类的这个函数重写(也称覆盖)了父类的这个函数。

以上是“C++中编译器多态与运行期多态的优缺点是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


当前名称:C++中编译器多态与运行期多态的优缺点是什么
本文路径:http://pwwzsj.com/article/jojdcd.html