SmallInt tokVal = SmallInt( tok ); (c)如果转换的目标(本例中的double)与转换函数的类型(本例中的int类型)不完全匹配,但目标类型可以通过标准转换序列到达,则仍可调用转换函数。 extern void calc( double ); (d)使用构造函数作为转换函数。 extern void func( Number ); 当然,可通过在类的构造函数前设置explicit,以禁止将其用来执行隐式转换。 |
SmallInt tokVal = SmallInt( tok ); (c)如果转换的目标(本例中的double)与转换函数的类型(本例中的int类型)不完全匹配,但目标类型可以通过标准转换序列到达,则仍可调用转换函数。 extern void calc( double ); (d)使用构造函数作为转换函数。 extern void func( Number ); 当然,可通过在类的构造函数前设置explicit,以禁止将其用来执行隐式转换。 |