Я новичок в программировании и C++. Я смущен тем, как здесь ссылка работает по-другому.
Код ниже выводит 0 5
, но удаление &
из A &GotObj()
приведет к выводу 0 0
. Почему во втором случае не выводится 0 5
?
Заранее спасибо.
#include <iostream>
using namespace std;
class A {
public:
int val;
A(int n=0) {
val = n;
}
A &GetObj() {
return *this;
}
};
int main() {
A a;
cout << a.val << endl;
a.GetObj() = 5;
cout << a.val << endl;
return 0;
}