如何通过重载()将double类型转化为类类型
有一个题目要求:
其中Complex类如下:
class Complex{
public:
double real, imag;
explicit Complex(double real = 0, double imag = 0) : real(real), imag(imag){}
};
只会把(double)这样的重载,返回属性就可以了,但是将double类型转化为Complex类型的话,不知道怎么捕捉()后面的那个数,网上搜到的也都是重载(int)这种的,求解
class Complex
{
public:
double real, imag;
explicit Complex(double real , double imag ) : real(real), imag(imag) {}
Complex(double imag) : real(0), imag(imag) {}
Complex() : real(0), imag(0) {}
};
main()
{
double t = 5.23;
Complex cmp;
cmp = (Complex)t;
cout << cmp.real << "+" << cmp.imag << "i" << endl;
}