我想重载=运算符。它应该像那样工作:
MyClass a;
double b=a;
我该怎么做?
Tschüss,Andre
答案 0 :(得分:2)
那不是operator=
(作业)。这是一个初始化者。您通常会通过提供以MyClass
作为参数的构造函数来执行此类操作 - 但是,您不能对double
执行此操作。相反,您需要为MyClass
提供转换功能:
class MyClass
{
public:
operator double() const { return 5.0; }
};