码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 之虚函数的实现原理

时间:2019-02-06 12:00:59      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:有一个   否则   ++   mic   地址   子类   通过   png   原理   

c++的多态使用虚函数实现,通过“晚绑定”,使程序在运行的时候,根据对象的类型去执行对应的虚函数。

C++ 之虚函数的实现原理

带有虚函数的类,编译器会为其额外分配一个虚函数表,里面记录的使虚函数的地址,当此类被继承时,子类如果也写了虚函数就在子类的虚函数表中将父类的函数地址覆盖,否则继承父类的虚函数地址。

实例化之后,对象有一个虚函数指针,虚函数指针指向虚函数表,这样程序运行的时候,通过虚函数指针找到的虚函数表就是根据对象的类型来指向的了。

技术图片

 

C++ 之虚函数的实现原理

标签:有一个   否则   ++   mic   地址   子类   通过   png   原理   

原文地址:https://www.cnblogs.com/bewolf/p/9352116.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!