重载运算符=而不是使用访问器

use*_*252 0 c++ operator-overloading

我有一个名为MyInteger的类,这个类有一个int类型的数据成员 - 如何重载运算符"="来返回这个整数?我不允许使用accessor-method返回整数.

数据成员

 private:
    int number;
Run Code Online (Sandbox Code Playgroud)

功能

 int MyInteger::operator=(MyInteger myInteger) {

    myInteger = this->number;

    return myInteger;
}
Run Code Online (Sandbox Code Playgroud)

我知道这是错的,我试图做出类型转换,但这也是错误的.

在另一个类中,我使用这个整数来打印

 cout << number << endl;
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Jos*_*eld 5

您如何使用它的示例根本不使用=运算符.超载如何operator=帮助你?

如果您希望能够将MyInteger对象插入输出流,则需要在左操作数是输出流的位置重载operator<<,右操作数是您的MyInteger对象.