C++编程中多态性的实现机制到底是什么呀? 5
7个回答
展开全部
一般都用虚函数表实现
同名的虚函数用一个函数指针,每个对象都指向自己的函数, 只要通过这个指针调用就行
同名的虚函数用一个函数指针,每个对象都指向自己的函数, 只要通过这个指针调用就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2.利用继承能够实现:(ABCD) A)Windows编程 B)MFC编程 C)代码的复用 D)动态多态性 6.面向对象程序设计通过什么特性提高代码的可重用性。(BCD)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实现的原理基础是各方法之间有识别的方法, 即,参数列表不同 。
这样虚拟机就能识别它们 。
仅此 。
这样虚拟机就能识别它们 。
仅此 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每个class有一个虚函数地址列表,每个class实例都有一个指针,指向这个table的地址,一般实现是this指针的头4个(64位系统是8个字节),就是这个table的地址,你在调试的时候可以发现,有虚函数对象,有一个vptr的成员,就是它了。父类对象和子类对象的vptr分别指向自己的虚函数表。
实际在用指向子类对象的基类指针调用虚函数的时候,编译程序会实现动态绑定,即先从vptr得到虚函数表的地址,然后从那里找到实际需要调用哪个函数。
实际在用指向子类对象的基类指针调用虚函数的时候,编译程序会实现动态绑定,即先从vptr得到虚函数表的地址,然后从那里找到实际需要调用哪个函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询