객체 포인터

- 객체에 대한 포인터 (C언어 포인터와 동일)

- 객체의 주소 값을 가지는 변수

포인터로 멤버 접근

- 객체포인터 -> 멤버

 

객체 배열 선언

1. 객체 배열을 위한 공간 할당

2. 배열의 각 원소 객체마다 생성자 실행(매개 변수 없는 생성자 호출) - 기본 생성자

->매개 변수있는 생성자 호출 불가능

 

객체 배열 초기화

CircleArray[3] = {Circle(10), Circle(20), Circle() }; 방식으로도 배열을 초기화할수있다.

 

정적 할당(static)

- 변수 선언을 통해 필요한 메모리 할당 ex) int i;, int n[5];

동적 할당(dynamic) (할당 후 반환이 중요)

- 필요한 양이 예측 안될 경우, 프로그램 작성 중이 아닌 실행 중 운영체제로 부터 할당

- 힙(heap)으로 할당

C에서는 malloc()/free() 라이브로리 함수 사용

C++에서는 new()/delete() 연산자 사용

- 사용법

데이터타입 *포인터변수 = new 데이터타입;

delete 포인터변수;

 

배열의 동적 할당 및 반환

1. int* p = new int [5];

2. delete[] p;

 

동적할당 시 초기화

int *p = new int(20); //20으로 초기화된 int 타입 할당

단, 배열은 동적 할당 시 초기화 불가능

 

this

- 포인터, 객체 자기 포인터 (객체 자신의 주소값)

- 멤버  함수 내에서만 사용 가능

- 컴파일러가 선언한 변수다.

- 매개변수 이름과 멤버 변수 이름이 같은 경우 사용

- 멤버 함수가 객체 자신의 주소 리턴할 때 사용 

- static 멤버 함수에서 this 사용 불가

'학교수업' 카테고리의 다른 글

사물인터넷의이해 4주차  (0) 2021.09.28
웹개발기초 4주차  (0) 2021.09.26
가상현실프로그래밍 3주차  (0) 2021.09.24
정보보호개론 3주차  (0) 2021.09.23
임베디드기초 3주차  (0) 2021.09.22

+ Recent posts