重载=运算符

时间:2015-01-23 09:17:03

标签: c++ operator-overloading

我想重载=运算符。它应该像那样工作:

MyClass a;
double b=a;

我该怎么做?

Tschüss,Andre

1 个答案:

答案 0 :(得分:2)

那不是operator=(作业)。这是一个初始化者。您通常会通过提供以MyClass作为参数的构造函数来执行此类操作 - 但是,您不能对double执行此操作。相反,您需要为MyClass提供转换功能:

class MyClass
{
  public:
    operator double() const { return 5.0; }
};