深入了解 C++ 虚拟函数 - &c
最编程
2024-04-14 08:50:27
...
在写一段代码来测试一下:
c1 * pc = new c2();
typedef void (*Func)(void);
Func pFun = (Func)*((int*)*(int*)(pc) + 0);
Func pFun2 = (Func)*((int*)*(int*)(pc)+3);
pFun();
pFun2();
输出结果:
从输出结果上可以看出: 1、虚函数按照其声明顺序放于表中。 2、父类的虚函数在子类的虚函数前面。 如果c2继承c1后重写基类的方法c1:f1(),那么根据之前的测试,他的虚函数表应该是这样的:
上一篇: 概率论 - 常见分布
下一篇: C++ 中虚拟函数的作用和使用