1.标准类型数据间的转换:
在c++中,某些不同类型数据之间可以相互转换,例如:
int i=6,i=7.5+i;这种转换编译系统自动完成,用户不加干预,这种转换称为隐式类型转换。
c++还提供显示类型转换,类型名(数据) 如int(89.5).
2:转换构造函数
转换构造函数的作用是将一个其他类型的数据类型转换成一个类的对象,只有一个形参,如:
complex(double r){ real=r,imag=0} 其作用是将double型的参数r转换成complex类的对象,将r作为复数的实部,虚部为零。
使用转换构造函数将一个指定的数据转换成类对象的方法如下:
(1)先声明一个类;
(2)在类中定义一个只有一个参数的构造函数,参数类型是需要转换的类型,在函数体内指定转换的方法。
(3)在该类的作用域中可以用以下形式进行类型交换:
类名(指定类型的数据)
3:类型转换函数
类型转换函数的作用是将一个类的对象转换成另一类型的数据,一般形式为:
operator 类型名()
{实现转换的语句;}在函数名前面不能指定函数类型,函数没有参数。
例如:
#include<iostream>
using namespace std;
class Complex
{
public:
Complex(){real=0;imag=0;
}
Complex(double r,double i){real=r;imag=i;
}
operator double(){return real;
}
private:
double real;
double imag;
};
int main()
{
Complex c1(3,4),c2(5,-10),c3;
double d;
d=2.5+c1;
cout<<d;
return 0;
}