阿白| 2022-10-13 10:39 采纳率: 90.4%
浏览 33
已结题

如何通过重载()将double类型转化为类类型

如何通过重载()将double类型转化为类类型

有一个题目要求:

img

其中Complex类如下:

class Complex{
public:
    double real, imag;
    explicit Complex(double real = 0, double imag = 0) : real(real), imag(imag){}
};

只会把(double)这样的重载,返回属性就可以了,但是将double类型转化为Complex类型的话,不知道怎么捕捉()后面的那个数,网上搜到的也都是重载(int)这种的,求解

  • 写回答

2条回答 默认 最新

  • 浪客 2022-10-13 11:17
    关注
    
    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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月14日
  • 已采纳回答 10月13日
  • 修改了问题 10月13日
  • 创建了问题 10月13日