用*转换构造函数可以将一个指定类型的数据转换为类的对象*。但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成double类型数据)。在C++提供类型转换函数(type conversion function)来解决这个问题。*类型转换函数的作用是将一个类的对象转换成另一类型的数据。*
如果已声明了一个Complex类,可以在Complex类中这样定义类型转换函数:
operator double( ) {
return real;
}
函数返回double型变量real的值。它的作用是将一个Complex类对象转换为一个double型数据,其值是Complex类中的数据成员real的值。请注意,函数名是operator double,这点是和运算符重载时的规律一致的(在定义运算符“+”的重载函数时,函数名是operator +)。
类型转换函数的一般形式为:
operator 类型名( ) {
实现转换的语句
}
*在函