重载 = 运算符

Overloading of the =operator

本文关键字:运算符 重载      更新时间:2023-10-16

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

MyClass a;
double b=a;

我该怎么做?

舒斯、安德烈·

这不是

operator=(赋值)。它是一个初始化器。您通常会通过提供一个将MyClass作为参数的构造函数来做这样的事情 - 但是,您不能为double这样做。相反,您需要为MyClass提供一个转换函数:

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