强制类型转换可以解决所有由于类型差异造成的不能计算。 (至少可以通过编译这一步)
至于这个操作做了什么, 在c语言中这个很简单, 而在c++中这个很复杂, 他可能进行了构造(如果提供了这个构造函数),可能需要改变一个类的布局(由于多重继承的原因。。), 也可能什么都不做(只是让这句编译通过)
由于这件事情的复杂性和强制类型转换的可怕性,c++中把它拆成4种类型转换操作, 推荐尽量用这四种方式,而不要再用c风格的强制类型转换。
如果你想要深入了解这方面的东西,推荐你去看看lippman(C++ primer的作者)写的那本Inside The C++ Object Model(不适合新手)