在C++成员函数级联调用时为什么一定要加&?比如下面这段代码:
#include <iostream>
using namespace std;
class Number
{
public:
Number(int a)
{
x = a;
}
Number add(int a)
{
x += a;
return *this;
}
void print()
{
cout << x<<endl;
}
private:
int x;
};
int main()
{
int a, b, c;
cin >> a >> b >> c;
Number n(a);
n.add(b).add(c);
n.print();
}
输入3,4,5,输出7,只是加了前两个数,如果在Number类的add前面加上&则可得出正确结果,这个&到底有什么作用一定要加?