你现在问这个问题早了点,你只要理解多态就行了。
这个是执行期型别辨识(runtime type identification,RTTI),
简单的解释就是,当你手里拿着一个指向base type的reference时,RTTI机制能够帮你找出其所指的确切型别。
写法上就是强制转换,这种转换在编译时期用来对付编译器语法检测,你不强转,直接让它捉老鼠不可以,不是每个都能抓老鼠的,强转只是语法方式,实际类型a是什么,RTTI在运行时就会为他运行相应的方法,这就是多态的基础。
在内存中并没有特别的操作,因为强转只是改一下类型名字,并不改变对象的任何内容。 |