【发布时间】:2013-12-21 12:48:13
【问题描述】:
我有一个名为 MyInteger 的类,并且这个类有一个 int 类型的数据成员 - 如何重载运算符“=”来返回这个整数?我不允许使用访问器方法返回整数。
数据成员
private:
int number;
功能
int MyInteger::operator=(MyInteger myInteger) {
myInteger = this->number;
return myInteger;
}
我知道这是错误的,我尝试进行类型转换,但这也是错误的。
在另一个类中,我使用这个整数只是为了打印
cout << number << endl;
我该如何解决这个问题?
【问题讨论】:
-
你想如何使用这个运算符?
-
operator=按照惯例应该返回*this;。不这样做会立即增加混乱。看起来您更喜欢转换运算符。 -
@sftrabbit - 我编辑了我的问题
-
你应该为你的班级重载
operator<<,而不是让operator=返回MyInteger&以外的东西。