본문 바로가기

지식창고/프로그래밍

(C++)this포인터란?

반응형

의미 : 맴버함수 내에서 자기 자신을 가리키는 포인터.

 

사용방법은 다음과 같습니다-

 

public:

                  int id;

                 

                  Test(int n_id);

 

 

                  void Show_Data() const;

};

 

 

Test::Test(int n_id)

{

                  id = n_id;

}

 

 

void Test::Show_Data() const

{

                  cout << "ID = " << id <<", this = " << this <<"\n";  

                  // this 포인터가 지닌 값을 출력.

}

 

 

int main(void)

{

                  Test obj1(1);           

                  //Test(int n_id) 1값을 대입하여 Test::Test(int n_id)에서

                  //id 1 대입 시켜준다.

                  Test obj2(2);            //위와 마찬가지로 2 대입.

                  Test obj3(3);            //위와 마찬가지로 3 대입.

 

 

 

 

                  obj1.Show_Data();

                  //여기에서© 멤버함수를 다시 사용하여 this 값을 출력하게 .

                  obj2.Show_Data();

                  //this 맴버함수 내에서 자신을 가리키는 지를 확인하기 위하여.

                  obj3.Show_Data();

 

 

 

                  //마지막으로  obj1,2,3 주소를 출력하여 확인함.

                  cout << "&obj1 = " << &obj1 << "\n";  

                  cout << "&obj2 = " << &obj2 << "\n";

                  cout << "&obj3 = " << &obj3 << "\n";

 

 

                  return 0;

}

반응형