我将如何以我可以执行的方式重载 = 运算符
int someInt;
MyClass instanceOfMyClass;
someInt = instanceOfMyClass;
MyClass 在哪里包含一个名为 number 的整数?
我将如何以我可以执行的方式重载 = 运算符
int someInt;
MyClass instanceOfMyClass;
someInt = instanceOfMyClass;
MyClass 在哪里包含一个名为 number 的整数?
您不能重载operator=
类型int
。您真正要寻找的是operator int()
您的MyClass
. 在您的情况下,考虑x
成为您班级的私人成员:
operator int() { return x; }
在大多数情况下,我会避免这样做,因为很难说出到底发生了什么。那说:
class MyClass {
public:
operator int() { return number; }
private:
int number;
};
这将为您的类创建一个(隐式)转换运算符。