728x90
- 객체 지향 프로그래밍
- 클래스 기본 문법
- 생성자 / 소멸자
- 생성자는 다중정의 가능
- 소멸자는 불가능
- 만들어놓지 않더라도 컴파일러가 디폴트 생성자, 소멸자를 만들어 놓음
- 접근 제어 지시자
- 클래스 - 기본 Private
- 구조체 - 기본 Public
- 전역변수로 선언한 클래스의 생성자는 main보다 먼저 호출
- 생성자 / 소멸자
- 동적 객체의 생성과 소멸
- new[]로 생성한 것은 delete[]로 삭제해야 한다 ( 안할시 메모리 릭 )
- 참조 형식 멤버 초기화
- 참조자는 선언과 동시에 초기화 해야한다. 그래서 생성자 초기화 목록을 써야한다.
- 생성자 다중 정의
- C++11 부터 생성자 위임 가능
- 생성자 위임 - 생성자 초기화 목록에서 다른 생성자 추가로 호출 같은일을 하는 코드가 여러번 있을 필요 X
- 명시적 디폴트 생성자
- 선언과 정의를 한번에 끝낸다.
- 메서드
- 클래스의 멤버 함수
- this 포인터
- 소속을 정확하게 명시
- 상수형 메서드
- 읽기는 O, 쓰기는 X
- 함수 원형 뒤에 const
- 특징 : 상수화 방법 this포인터를 상수형 포인터로 변경
- 상수화 된 메서드가 아니면, 멤버 함수도 호출 불가
- mutable로 선언한 변수는 상수형 메서드에서 쓰기 가능
- const_cast<>로 억지로 쓸 수 있게 형 변환 가능
- delete 예약어
- void func(double d) = delete; - 실수로 double형 인자가 넘어오는 경우 차단
- 정적 멤버
- 사실상 전역변수, 함수와 같다.
- 인스턴스 선언 없이 직접 호출 가능
- 선언과 젖ㅇ의 분리
728x90
'언어 > C++' 카테고리의 다른 글
6. 클래스의 완성 (0) | 2023.01.19 |
---|---|
5. 연산자 다중정의 (0) | 2023.01.17 |
4. 복사 생성자 & 임시객체 (0) | 2023.01.17 |
2. C++ 함수와 네임스페이스 (0) | 2023.01.16 |
1. C와 C++ 차이 (2) | 2023.01.16 |