=运算符的重载

Overloading of the =operator

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

MyClass a;
double b=a;

我该怎么做?

楚斯,安德烈

那不是 operator=(作业)。它是一个初始化程序。您通常会通过提供一个将 MyClass 作为参数的构造函数来执行类似的操作 - 但是,您不能为 double 执行此操作。相反,您需要为 MyClass:

提供一个转换函数
class MyClass
{
  public:
    operator double() const { return 5.0; }
};