0

我将如何以我可以执行的方式重载 = 运算符

int someInt;
MyClass instanceOfMyClass;
someInt = instanceOfMyClass;

MyClass 在哪里包含一个名为 number 的整数?

4

2 回答 2

2

您不能重载operator=类型int。您真正要寻找的是operator int()您的MyClass. 在您的情况下,考虑x成为您班级的私人成员:

operator int() { return x; }
于 2013-03-29T05:43:55.233 回答
0

在大多数情况下,我会避免这样做,因为很难说出到底发生了什么。那说:

class MyClass {
 public:
  operator int() { return number; }

 private:
  int number;
};

这将为您的类创建一个(隐式)转换运算符。

于 2013-03-29T05:24:12.753 回答