C语言类型转换 int a; a=1.23 这里把1.23赋值给a发生了隐式转换,原理如下: int a; float b=3.14; a=b; b赋值给a的过程:首先找一个中间变量是a的类型(该例中,只能把b取整得到),然后再用中间过渡变量给a赋值. 在c++中类的构造函数发生的类型转换也是相同的原理 整型的100要转换成对象型的t,必须要能找到一个中间对象,对该例来讲,构造函数Test(int d=0)刚好可以通过一个整型变量d来构造出一个对象,所以可以得到中间对象,转换就可以进行. 参考下…