1 eg(见本工程leixingchongzai.cpp)
//
// 重载类型转换运算符案例
//
#include <iostream>
using namespace std;
class Complex
{
double real, imag;
public:
Complex(double r = 0, double i = 0):real(r),imag(i){}
// 重载强制类型转换运算符 重载为成员函数
// 类型转换运算符进行重载的时候,返回值类型是不写的,但实际上它的返回值类型,就是这个类型本身(double)
// double是单目运算符,重载成成员函数无参数
operator double()
{
return real;
}
};
int main()
{
Complex c(1.2, 3.4);
cout << (double)c << endl; // 输出 1.2 等价于 c.operator double()
double n = 2 + c; // 等价于 dobule n = 2 +c.operator double()
cout << n; // 输出3.2
}
2 目的:将对象转换成基本数据类型进行操作。