언어 공부/C++
3. 객체배열과 동적메모리
LTSGOD
2023. 1. 14. 11:07
객체배열
- Circle arr[3];
- 객체생성할 때 디폴트생성자로 만들어짐
- 초기화 방법
- for문사용
- 선언과 동시에 초기화(Circle arr[3] = {Circle(1), Circle(2), Circle(3)})
동적메모리
- 프로그램 실행중 만들수있음.
- delete p, 배열 delete [] p 해서 동적메모리 해제 시킬 수 있음.
- 포인터로만 사용가능
- 배열할당시 할당과 초기화를 동시에 할 수없음
- 사용방식
- Circle* p = new Circle();
this
- 현재 실행중인 객체의 포인터
- 객체에서만 사용가능
- 컴파일러가 선언한 포인터 변수
- 필요한이유
- 매개변수 이름 이 멤버변수이름이랑 같을때 구분지어줌
- 멤버함수가 현재객체의 주소를 리턴할 때 필요
- 사용범위
- 멤버함수에서만 사용