가티있는블로그

[C++] this 포인터 개념

2021. 8. 20. 17:38 | 프로그래밍/C++

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