언어/C++
[C++] 참조자가 객체로 쓰였을 때는?
study_memo
2023. 9. 25. 01:27
int main(void)
{
SelfRef obj(3);
SelfRef &ref=obj.Adder(2);
obj.ShowTwoNumber();
ref.ShowTwoNumber();
ref.Adder(1).ShowTwoNumber().Adder(2).ShowTwoNumber();
return 0;
}
이러한 코드가 있을 때, ref는 객체일까? 아니면 그냥 객체가 아닌 참조자일까?
-> 참조자의 의미를 잘 생각해보시면 될 것 같다.
결국 참조자 &를 사용하면 한 공간에 다른 별명을 붙이게 되는 것이다.
결국 ref도 객체로 보는 것이 맞다. 참조자를 썼다고 객체와 참조자를 따로 구분짓지는 않는다.
(아래는 전체코드이다..)
//참고. 전체 코드
#include <iostream>
using namespace std;
class SelfRef
{
private :
int num;
public:
SelfRef(int n) : num(n)
{
cout<<"객체생성"<<endl;
}
SelfRef& Adder(int n)
{
num+=n;
return *this;
}
SelfRef& ShowTwoNumber()
{
cout<<num<<endl;
return *this;
}
};
int main(void)
{
SelfRef obj(3);
SelfRef &ref=obj.Adder(2);
obj.ShowTwoNumber();
ref.ShowTwoNumber();
ref.Adder(1).ShowTwoNumber().Adder(2).ShowTwoNumber();
return 0;
}