首先你要知道什么叫继承,继承在内存中就是:class B : public A ==> class B inlucde class A,B的内存中的开始部分是A,当你多继承的时候,也就是第一个项,这就是为什么你强制类型转换后,还能继续访问基类的原因,什么都没有变,只不过使用了类型标志,限定了长度而已。
通过虚函数吧,在有继承关系的类中,如果父类中有虚函数,则在每个类中都隐式有个虚函数的指针指向虚函数表,在本类型的指针调用此函数时,根据此指针进行必要的选择(编译器实现),这样就实现了多态性.
但是这又必然带来一系列的问题,如果不按标准使用,有时会产生很多解释不了的错误,最好要严格按标准使用.
这里不详述,可参考楼上兄弟的<<Inside the C++ Object Model>>或编程原理之类的书~~
请指教~~~~~~~~