*과제
Add files via upload · Gyuree01/-21@fe4d9ea (github.com)
Add files via upload · Gyuree01/-21@fe4d9ea
Permalink This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Browse files Add files via upload Loading branch information Showing 3 changed files with 111 additions and 0 deletions. +46 −0
github.com
*수업 내용 정리
1. 객체 포인터
- 클래스 객체의 주소값을 가지는 포인터
- 선언 방식: 클래스명 *객체명;
- 주소 지정 방식: 포인터변수= &객체이름;
- 객체 포인터 접근 방식: 1)객체 포인터명-> 멤버 / 2) (*객체 포인터명).멤버
2. 객체 배열
- 객체를 원소로 가지는 배열
- 선언 방식: 클래스명 배열명[배열 크기];
- 2차원 객체 배열 선언 방식: 클래스명 배열명 [배열크기] [배열크기];
- 객체 배열 접근 방식: 배열명[].멤버
3. 객체의 동적 생성
- 정적 메모리 할당 -> 변수 선언을 통해 할당함
- 동적 메모리 할당 및 반환: new) 객체 동적 생성, 할당 시 생성자 호출
delete) 할당받은 메모리 반환, 소멸자 호출
4. 복사생성자
- '클래스명(const 클래스명 &참조변수)' 의 형태
- 변수 선언을 통해 할당
- 하나의 클래스에는 하나의 복사생성자만 존재 가능
- 복사 시마다 새로운 객체가 생성됨
#얕은 복사와 깊은 복사: 얕은 복사는 객체의 값만 복사하고 주소값은 공유
깊은 복사는 객체 자체를 복사하고 메모리를 새로 할당