养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

如何在虚函数中使用this指针

时间:2024-10-21 20:37:41

小编今天教你们如何在虚函数中使用this指针,解决你在生活中遇到的小问题。

工具/原料

虚函数软件

电脑

方法/步骤

1、p的值和&的值是相差4个字瘠彐伊竽节的,最后一行输出的值为1,2。我们可以推断出obj_b在内存中的器皆阄诟分布是首先一个占有4字节的某类型,然后是inta,最后是intb。初始的4字节其实就是虚指针。

如何在虚函数中使用this指针

2、而类A的对象在内存的分布其实是虚指针然后是inta。如果类B继承A,在B构造的时候,会继诙戢呲剽承虚指针和inta,但是虚指针指向的敦饪测怙虚表就不同了。若在B中实现了虚函数则虚表中的对应函数的入口地址也会改变。从而达到多态的目的。

如何在虚函数中使用this指针

3、注意指针p并访问不到b,因为p是A类型的指针,可见指针的访问范围由的类型决定了。所以我们通过&来访问b。

如何在虚函数中使用this指针

4、对于非虚函数,this指针的基准地址为函数定义所在层级对象的首地址,范围为该层级对象始末。

如何在虚函数中使用this指针

5、this指针类型是以D0H为首地址,范围是从首地址开始到DFH为止。对于虚函数,this指针的基准地址为函数首先声明者的首地址,范围为实现者的始末。

如何在虚函数中使用this指针

6、虚函数其this指针类型是以D0H为首地址,范围是从首地址开始到DFH为止。便是这么访问b成员的了。首地址保存在寄存器rax里即可。

如何在虚函数中使用this指针

© 一点知识