摘要: 虚函数的内存布局一个拥有虚函数的类内部会有一个成员变量vptr,一个四字节大小的指针,指向虚函数表,虚函数表中记录了该类的各个虚函数的入口地址,如果该类重载了继承的虚函数,那么就存放自己的虚函数地址,否则就是父类的虚函数地址。class A{public: virtual void f(){}; virtual ~A(){};};class B:public A{ void f(){int i=0;};};A* pA=new B();pA->f();对于f的调用操作编译器有如下动作:void B::f()函数解释为void f(B* this);pA->f()解释为 (*pA-&g 阅读全文
posted @ 2007-01-16 23:22 反正我信了 阅读(1740) 评论(0) 推荐(0)