this는 자신을 호출한 객체의 주소
class Point
{
int x = 0;
int y = 0;
public:
//1. Point* set(int x, int y) return this
Point& set(int x, int y)
{
this->x = x;
this->y = y;
return *this;
}
};
위의 코드에서 주석으로단 1번같은 경우는 this자체를 반환하기 때문에 Point* 을 리턴타입으로 적용해야되고,
계속해서 함수를 부르기 위해서는 p1.set()->set()->set(); 이런식으로 ->을 이용해서 부르게된다.
만약 위의 코드대로 부르게되면 p1.set().set(0.set(); .으로 부르는것이 가능해진다.
정적 멤버 함수 안에서는 this를 사용할 수 없다.
'프로그래밍 > C++' 카테고리의 다른 글
[C++] 가상함수 (0) | 2021.08.21 |
---|---|
[C++] 상속 (0) | 2021.08.21 |
[C++] 상수 멤버 함수 const member function (0) | 2021.08.20 |
[C++] static member 정적 멤버 데이터, 함수 (0) | 2021.08.19 |
[C++] 복사생성자 (0) | 2021.08.19 |