1-4강
|
-
1. C++에서 말하는 프로그래밍 C언어와의 차이점
-
C++에 대한 기본적인 이해
-
C와의 관계와 차이점 절차 지향적 / 객체 지향적 프로그래밍
-
표준 출력(cout), 표준입력(cin) 객체 사용
-
새로운 자료형 bool type
-
2. C++에서 확장된 기능
- 함수 오버로딩의 개념과 필요한 상황
- 함수 오버로딩이 가능한 이유, 함수 오버로딩의 조건, 주의사항
- 함수 오버로딩이 불가 능한 상황(중복이 불가능한 경우)
- 디폴트 매개변수와 inline 함수
- 이름을 붙여놓은 공간 namespace, 범위 지정 연산자
- reference는 왜 만들어졌을까
- reference의 선언, 가능 범위, call-by-reference의 정확한 이해
- 참조자를 이용한 call-by-reference의 단점
|
5-8강
|
-
1. C++의 동적할당과 클래스
-
C언어에서 동적할당이 불편한 상황
-
C++에서 제안하는 동적할당 방식 ? new, delete
-
동적할당과 배열의 차이(동적할당의 필요성)
- C언어의 구조체(struct)와 C++의 클래스(class)
- 객체와 접근제어 지시자 ? public, protected, private
- 클래스의 특징 ? 정보은닉, 캡슐화, 생성자와 소멸자
- 객체 배열과 this 포인터
- 클래스 기반 객체지향 프로그램 만들기. e.g., RPG Game Character 구현, 학생 관리 시스템 구현
|
9-12강
|
-
1. 클래스의 상속(Inheritance)
-
일반적인 상속과 C++에서의 상속 개념
-
상속하는 클래스의 객체 생성과 소멸
-
상속 관계에서의 오버라이딩
-
객체 포인터의 참조 관계와 가상 함수
-
다중상속에 대한 이해와 문제점
-
멤버함수와 가상 함수의 동작 원리
|
13-16강
|
-
1. 연산자 오버로딩
-
연산자 오버로딩의 이해와 유형
-
단항/다항/대입 연산자의 오버로딩
-
2. 템플릿과 예외처리
- 함수 템플릿과 클래스 템플릿의 이해
- 클래스 템플릿의 특수화
- C++의 예외처리 방식, 예외처리 클래스
- try ~catch의 활용과 이해
-
3. 스마트 포인터와 STL 컨테이너
- 스마트 포인터를 사용해야 하 는 이유
- 스마트 포인터 관련 클래스 auto_ptr, unique_ptr, shared_ptr, 등
- STL 컨테이너 어댑터 Stack, Queue, 우선순위 등
- STL 시퀀스 어댑터(순서 컨테이너) - dequeue, vector 등
- STL 연관 컨테이너 set, multiset, map, multimap
|