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