摘要: 一般的书上都说,虚函数是在运行时根据对象的实际类型“动态决定”函数入口。但什么是“动态决定”呢?实际上C++编译器在实现这个功能的时候,并非真的 等到虚函数被调用时才去判断这个对象是什么类型的。下面我用一个简单的图表来说明C++编译器到底干了些什么。假设有两个类 struct Base { virtual void f(); virtual void g(); }; struct Derived : public Base { virtual void f(); virtual void g(); }; Base 和 Derived 各有一个虚表,分别是 VTable_B 和 VTa... 阅读全文
posted @ 2012-03-11 16:01 kanego 阅读(1861) 评论(0) 推荐(1) 编辑