객체 배열과 객체 포인터배열은 구조체 배열과 구조체 포인터배열와 유사하다.
객체 배열은 다음과 같은 형태로 선언을 한다.
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 |