this 포인터,
자기 자신을 호출하는 포인터.
자기 참조 포인터라고도 하는데
크게 어려운건 없다.
#include <iostream>
class AAA
{
int n;
public:
AAA(int n)
{
// 컴파일에 문제는 없지만
// 프로그래머가 원하는 결과는 나오지 않을 것이다.
//n = n; // n은 class AAA의 n이 아닌 인자 n만을 가지고 값을 넣기 때문이다.
// 다음처럼 해주면 된다.
this->n = n;
}
AAA* GetThis()
{
return this;
}
};
void main()
{
AAA aaa(10);
// this 포인터는 그 클래스의 주소값을 가르키고 있기 때문에
// 다음처럼 하면 aaa의 주소를 리턴하여 출력한다.
std::cout << aaa.GetThis() << std::endl;
}
'프로그래밍 > C++' 카테고리의 다른 글
복사 생성자, 디폴트 생성자 그리고 디폴트 복사 생성자. (0) | 2010.03.21 |
---|---|
friend (0) | 2010.03.21 |
객체 포인터 배열 (0) | 2010.03.21 |
클래스의 활용 (0) | 2010.03.20 |
class(클래스) ~ C++의 꽃 ~ (0) | 2010.03.19 |