鱼眼镜头谁家好:关于返回值为&的

来源:百度文库 编辑:神马品牌网 时间:2024/04/20 01:07:59
#include <iostream>
using namespace std;

class A
{
public:
A();
int& get();
void print(){cout<<i<<endl;};
private:
int i;
};

A::A()
{
i = 0;
}

int& A::get()
{
return i;
}

void main()
{
A a;
a.print();
int x = a.get();
x = 1;
a.print();
}

写了上面的程序。我的理解是输出为0 1,但是输出是0 0,如果返回值是&时是什么情况呢

改为:
void main()
{
A a;
a.print();
int &x = a.get();//注意x变成&x
x = 1;
a.print();
}
现在就应该是“0 1”了。