解析C++虚函数表
敬业的IT人
互联网
佚名
2008-1-3 19:19:52
【引自陈皓的博客】
图1
注意:在上面这个图中,我在虚函数表的最后多加了一个结点,这是虚函数表的结束结点,就像字符串的结束符“\0”一样,其标志了虚函数表的结束。这个结束标志的值在不同的编译器下是不同的。在WinXP+VS2003下,这个值是NULL。而在Ubuntu 7.10 + Linux 2.6.22 + GCC 4.1.3下,这个值是如果1,表示还有下一个虚函数表,如果值是0,表示是最后一个虚函数表。
下面,我将分别说明“无重载”和“有重载”时的虚函数表的样子。没有重载父类的虚函数是毫无意义的。我之所以要讲述没有重载的情况,主要目的是为了给一个对比。在比较之下,我们可以更加清楚地知道其内部的具体实现。
- 最新文章
- C++中的向上类型转换和向下类型转换[01-03]
- 新手看招 Linux操作系统下C++编程初探[01-03]
- 用C语言编写Windows服务程序的五个步骤[01-03]
- Visual C++实现Flash动画播放[01-03]
- TCP/IP Winsock编程要点[01-03]
- C++ 虚基类[01-03]
- 相关文章
