: 객체 자신의 주소를 담고 있는 포인터
class Point
{
public :
void func(){};
}
// 여기서
호출을 이렇게 한다고 하면
Point p ;
p.func();
// => 이렇게 되어 있음.
func(&p);
// 함수 형태는 이렇게 생김.
void func(Point *this)
{
cout << this << endl;
}
: Point 클래스를 만들고 2개의 객체 만들고,, print 함수를 만들고,
print 함수의 주소를 한번 출력해보자ㅣ.
-> print 함수에서 this 출력하고, 함수 주소 출력하라.
-> 외부에서 2개의 객체 주소도 출력하라 .
void foo(int a, int b)
{
this.a = a;
this. b = b;
}
cout << "hello" << 1 << ", world" << endl;
주의할 점.
: *this를 반환할 때는 임시 객체 생성을 막기 위해 "참조 반환"을 해야함.
코드
Point& set(int x, int y)
{
this->x = x;
return *this;
}
int main()
{
Point p(1,2);
p.set(1,3).set(30,40);
}