카테고리 없음
[C++] this 포인터 이해하기
s뽈록이s
2013. 8. 17. 14:47
class Circle { private : int r; public : Circle(int r) { this->r = r; } void print_r() { cout << "r = " << r << endl; } }; void main() { Circle cir(4); cir.print_r(); }
프로그램 실행화면
this 포인터라는 녀석이 있다. 흡연자라면 담배를 생각했을수도 있겠다. 장난으로 편의점에 가서 '이것' 주세요! 라고 하면 센스 없는 알바는 멍때리게 만드는 담배이름 말이다.
프로그램으로 돌아가서 위 프로그램을 보면 이상한 점(?)이라고 해야할까? 아무튼 this 포인터를 사용한 곳이 있다. 그곳은 바로 생성자이다.
Circle안에 int r이 선언되어 있고 생성자의 매개변수에도 int r이 있다. 인자로 받은 r을 Circle의 r에 넣어 줄려면 어떻게 해야할까? 이럴 때 this 포인터를 사용하면 된다.
책에서 자기 자신을 가리키는 포인터라고 설명되어 있을 것이다. Circle 안에 여러 맴버함수들이 있을 것이다. 타자를 빨리 치기 위해서 this-> 이렇게 적어주면 함수와 변수들이 쭈르륵 뜰 것이다.
이해가 가지 않는다면 그저 사용방법만을 외우는 것이 좋을 것이라 생각한다.