代码改变世界

随笔档案-2013年04月

C++ 多态实现机制

2013-04-25 16:00 by 捣乱小子, 3586 阅读, 收藏, 编辑
摘要: 本篇从 C++ 初学者遇到的一个有趣的问题开始。有趣的问题考虑下面的 C++ 程序:class A{ void func(){}};class B:public A{ void func(){}};int main(void){ cout func();}输出结果是:class B'sfunc.多态就是多种状态,一个事物可能有多种表现形式,譬如动物,有十二生肖甚至更多的表现形式。当基类里实现了某个虚函数,但派生类没有实现,那么类 B 的实例里的虚函数表中放置的就是 &A::func。此外,派生类也实现了虚函数,那么类 B 实例里的虚函数表中放置的就是 B::func。... 阅读全文