【c++三大特性之一】---多态及其实现原理
2017-06-14 21:15
567 查看
一、多态的总体认识:
多态就是多种形态,是指不同的对象调用同一种方法,产生不同的行为;C++的多态分为静态多态和动态多态。
(1) 静态多态:又叫做静态联编,静态绑定,静态决议——–就是重载,因为是在编译期决议确定(即在编译期间将函数的调用和函数定义绑定在一起),所以称为静态多态。
http://blog.csdn.net/gogogo_sky/article/details/72807123
(2) 动态多态:又叫做动态联编,动态绑定,动态决议——–就是通过继承重写基类的虚函数实现的多态,因为是在运行时决议确定(即在程序运行时才将函数的调用和函数定义绑定在一起),所以称为动态多态。
本篇文章主讲动态多态
二、动态多态
(1)只有在公有继承的继承方式下才能实现多态;(2)多态实现的条件:
子类中重写父类的虚函数;
父类的指针或者引用调用重写的虚函数;
(3)多态是为了让程序更加灵活;
(4)多态实现的原理:子类对象中重写父类虚函数表中重写虚函数的地址;
(5)一个对象访问普通成员函数和虚函数那个更快?
答:访问普通函数更快;因为是静态联编,在程序编译时,就将函数调用和函数定义联系在一起;而虚函数的调用时是动态联编,要在运行的时候通过虚函数表寻找虚函数的地址来调用虚函数;
相关文章推荐
- c++中多态及其实现原理
- C++的三大特性:封装、继承、多态,以及多态的具体实现
- 仿基因编程原理及其C++实现
- 仿基因编程原理及其C++实现
- C++多态的实现原理,C++中虚函数和多态
- (转)C++多态的实现原理,C++中虚函数和多态
- C++的多态原理和实现
- 仿基因编程原理及其C++实现
- c++实现多态的原理和机制
- C++多态的实现原理
- (转)C++中多态的实现原理
- C++多态的实现原理
- 仿基因编程原理及其C++实现
- 理解C++的多态原理及实现
- C++多态如何实现 | sys_brk原理
- 仿基因编程原理及其C++实现
- 插件技术原理及其C#实现(一)插件技术原理及其特性
- 插件技术原理及其C#实现(一)插件技术原理及其特性
- C++的三大特性:封装、继承、多态
- C++的多态原理和实现