类型转换符:operator double(){return real;} 将Complex类转换为double return Complex类中的real;
#include<iostream>
using namespace std;
class Complex
{
public:
Complex(){real=0;imag=0;}
Complex(double r){real=r;imag=0;}
Complex(double r,double i):real(r),imag(i){}
void display();
operator double(){return real;} //类型转换函数:将c1转换为了double类型函数
private:
double real;
double imag;
};void Complex::display()
{
cout<<real<<"+"<<imag<<"i"<<endl;
}int main()
{
Complex c1(3,6),c2(1,10),c3;
double dl;
dl=c1+4.1; //将c1转换为了double类型
cout<<"dl="<<dl<<endl;
Complex c(dl);
cout<<"Complex(dl)=";
c.display();
}