null

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年4月24日

摘要: 关于虚函数表的个人总结1.虚函数表的创建:一个类存在虚函数的时候,编译器会为这个类创建一个虚函数表,这个表由这个类的所有对象共同所有。在创建这个类的类对象的时候将这个对象的前4个字节作为这项这个虚函数表的指针。即类对象的首地址中的内容存放的是虚函数表的地址。虚函数表的首地址里面存放的是第一个虚函数的首地址,如果有多个虚函数,则第二个虚函数的地址即为第一个虚函数首地址加上偏移量,地址如果用int*为单位表示的话偏移量加1,对于以16进制位表示的话则加4,(见下例,如果看着晕的话,不用看具体的,下面会有更加详细的解释).----(int*)*(int*)*(int*)(&b)是第一个函数的 阅读全文
posted @ 2011-04-24 22:32 Null_x1 阅读(1072) 评论(2) 推荐(1) 编辑