标签:
基本类型 ←→ 基本类型
基本类型 ←→ 类类型
类类型 ←→ 类类型
构造函数 转换函数
称为用户定义的类型转换或类类型转换,有隐式调用和显式调用方式
1 class X 2 { // …… 3 public : 4 X ( int ) ; 5 X ( const char * , int = 0 ) ; 6 }; 7 void f ( X arg ) ; 8 : 9 X a = X( 1 ) ; // a = 1,调用构造函数X(int),把1转换成X类类型后赋给对象a,也称X(1)为类X的类型常量 10 X b = "Jessie" ; // b = X ( "Jessie" , 0 ),调用构造函数X(const char*,int =0),把字符串转换成X类类型后,赋给b; 11 a = 2 ; // a = X ( 2 ),隐式调用构造函数X(int),把2转换成X类类型之后赋给对象a, 12 f ( 3 ) ; // f ( X ( 3 ) ),隐式调用构造函数X(int),对实参做类类型转换,然后进行参数结合 13 f ( 10 , 20 ) ; // error ,找不到匹配的构造函数,转换失败
//注:这样的转换都是由系统自动完成的
2.类类型转换函数:
显式类型转换的机制
语法形式:
X :: operator T ( )
{ ……
return T 类型的对象
}
功能:将类型 X 的对象转换为类型 T 的对象
T 类型的对象
标签:
原文地址:http://www.cnblogs.com/Smart-Du/p/4331171.html