#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;
}