본문 바로가기
스터디/C++

[ C++ ] 객체 배열과 객체 포인터 배열 / this 포인터

by 알 수 없는 사용자 2019. 9. 20.

객체 배열과 객체 포인터배열은 구조체 배열과 구조체 포인터배열와 유사하다.

 

객체 배열은 다음과 같은 형태로 선언을 한다.

A arr[10];

A는 클래스 이름이다.

 

그럼 객체 배열을 선언시 생성자가 어떻게 동작하는지 살펴보면

위와 같은 결과를 볼 수 있다.

즉, 위 소스코드의 경우에는 arr가 10개의 객체를 담는 객체 배열이라고 볼 수 있다.

 

 

객체 포인터 배열은 객체의 주소를 담는 배열이다.

 

선언은 다음과 같은 형태로 하면 된다.

A * arr = new A[10];

 

위를 보면 각 인덱스에 객체가 생성된 것을 확인할 수 있다. 

 

 

 

this는 객체 자신을 가리키는 포인터이다.

 

아래의 소스코드를 보면 알 수 있다.

GetPoint를 통해서 b가 a의 주소값을 얻은 걸 확인할 수 있다.

 

이렇게 this는 객체 자신의 주소를 반환할 때 사용하기도 하지만 자기자신의 멤버변수에 접근할 때도 사용이 가능하다.

 

 

GetNum 함수 매개변수 num과 객채의 멤버변수를 각각 출력한 결과를 확일할 수 있다.

'스터디 > C++' 카테고리의 다른 글

[ C++ ] Self-Reference  (0) 2019.09.20
[ C++ ] C/ C++ 입출력 함수별 속도 비교  (0) 2019.09.20
[ C++ ] 구조체와 클래스의 차이점  (0) 2019.09.20
[ C++ ] 파일 분할  (0) 2019.09.20
[ C++ ] C언어의 표준함수 호출  (0) 2019.09.06