c++中类函数可以直接被赋值吗?如图

图片说明

#include <iostream> 
using namespace std;
class A
{
public:
    int v;
    // 你的代码添加在这里
    A(){
        v=0;
    }
};
int main()
{
    int n;
    cin >> n;
    A a;
    cout << a.v << endl;
    a() = n;
    cout << a.v << endl;
    return 0;
}

需要重载等号运算符吗?
没见过这种用法,请指教

是重载函数调用运算符,也就是圆括号运算符,返回内部成员变量的引用,然后外部能够通过返回的引用去修改类内部成员变量的值。

添加的代码如下:

int& operator()()
{
    return v;
}

全部代码

#include <iostream> 
using namespace std;
class A
{
public:
    int v;
    // 你的代码添加在这里
    A(){
        v=0;
    }

    int& operator()()
    {
        return v;
    }

};
int main()
{
    int n;
    cin >> n;
    A a;
    cout << a.v << endl;
    a() = n;
    cout << a.v << endl;
    return 0;
}

运行结果

图片说明