목차 일부
용어 대역표 ... 15
시작하면서 ... 19
Chapter 1 C++ 프로그래밍의 기초
1.1 C++ 프로그램의 작성법 ... 26
1.2 데이터 객체(data object)의 정의(definition)와 초기화 ... 33
1.3 표현식(Expression) ... 37
연산자 우선순위(Precedence) ... 41
...
더보기
목차 전체
용어 대역표 ... 15
시작하면서 ... 19
Chapter 1 C++ 프로그래밍의 기초
1.1 C++ 프로그램의 작성법 ... 26
1.2 데이터 객체(data object)의 정의(definition)와 초기화 ... 33
1.3 표현식(Expression) ... 37
연산자 우선순위(Precedence) ... 41
1.4 조건문과 루프(loop)문 ... 43
조건문 ... 44
루프문 ... 48
1.5 배열(Array)과 벡터(Vector) ... 51
1.6 포인터(Pointer)의 유연성(Flexibility) ... 56
1.7 파일 읽기와 쓰기 ... 61
Chapter 2 절차적 프로그래밍(Procedural Programming)
2.1 함수의 작성 ... 68
2.2 함수의 호출 ... 74
레퍼런스에 의한 전달(Pass by Reference) ... 80
스코프(Scope)와 활동범위(Extent) ... 83
동적 메모리 관리(Dynamic Memory Management) ... 84
2.3 기본 매개변수값(Default Parameters Values) ... 86
2.4 지역 정적 객체(Local Static Object)의 사용 ... 89
2.5 인라인(Inline) 함수 선언 ... 91
2.6 오버로딩(overloading)된 함수 ... 93
2.7 템플릿(template) 함수의 정의와 사용 ... 94
2.8 유연성을 높이는 함수의 포인터 ... 97
2.9 헤더 파일(Header File) ... 100
Chapter 3 제네릭 프로그래밍(Generic Programming)
3.1 포인터의 계산(Arithmetic) ... 106
3.2 반복자(Iterator)의 이해 ... 112
3.3 모든 컨테이너에 대한 공통적인 연산 ... 117
3.4 순차 컨테이너(Sequential Container)의 사용 ... 118
3.5 제네릭 알고리즘의 사용 ... 122
3.6 제네릭 알고리즘의 설계 ... 125
함수 객체(Function Object) ... 127
함수 객체 어댑터(Adapter) ... 129
3.7 맵(Map)의 사용 ... 133
3.8 셋(Set)의 사용 ... 135
3.9 반복자 삽입(Iterator Inserter)의 사용법 ... 137
3.10 iostream 반복자의 사용 ... 139
Chapter 4 객체 기반 프로그래밍(Object-Based Programming)
4.1 클래스의 구현 ... 147
4.2 클래스의 생성자(Constructor)와 소멸자(Destructor) ... 151
멤버 초기화 목록(Member initialization List) ... 154
멤버 단위 초기회(Memberwise initialization) ... 157
4.3 mutable과 const ... 159
Mutable 데이터 멤버 ... 161
4.4 this 포인터 ... 163
4.5 정적(Static) 클래스 멤버 ... 165
정적 멤버 함수(Static Member Function) ... 166
4.6 반복자 클래스(Iterator Class)의 제작 ... 169
중첩 타입(Nested Type) ... 174
4.7 공동 협력을 위한 프렌드(friend) ... 175
4.8 복사 대입 연산자(Copy Assignment Operator)의 구현 ... 177
4.9 함수 객채(Function Object)의 구현 ... 178
4.10 iostream 연산자의 클래스 인스턴스 제공하기 ... 181
4.11 클래스 멤버 함수의 포인터 ... 183
Chapter 5 객체 지향 프로그래밍(Object-Oriented Programming)
5.1 객체 지향 프로그래밍의 개념 ... 192
5.2 객체 지향 프로그래밍의 개요 ... 195
5.3 상속이 없는 다형성(Polymorphism) ... 200
5.4 추상 기본 클래스(Abstract Base Class)의 정의 ... 203
5.5 파생 클래스(Derived Class)의 정의 ... 207
5.6 상속 계층(Inheritance Hierarchy)의 사용 ... 214
5.7 기본 클래스의 추상성 ... 216
5.8 초기화, 소멸, 복사 ... 218
5.9 파생 클래스의 가상 함수 정의 ... 220
가상 함수의 정적 결정(Static Resolution) ... 223
5.10 런타임 타입 식별(Run-Time Type Identification) ... 225
Chapter 6 템플릿 프로그래밍(Template Programming)
6.1 매개변수화된 타입(Parameterized Types) ... 232
6.2 템플릿 클래스의 정의 ... 234
6.3 템플릿 타입 매개변수의 처리 ... 236
6.4 템플릿 클래스의 구현 ... 238
6.5 함수 템플릿의 출력 연산자 ... 245
6.6 상수 표현식(Constant Expressions)과 기본 매개변수 ... 246
6.7 전략(Strategy)으로서의 템플릿 매개변수 ... 251
6.8 멤버 템플릿 함수(Member Template Functions) ... 254
Chapter 7 예외상황 처리(Exception Handling)
7.1 예외상황 발생(Throwing an Exception) ... 258
7.2 예외상황 탐지(Catching an Exception) ... 259
7.3 try 블록 ... 261
7.4 지역 리소스(Resource) 관리 ... 265
7.5 표준 예외상황(Standard Exceptions) ... 268
Appendix A 연습 문제 해답
Appendix B 제네릭 알고리즘 핸드북
accumulate() ... 333
adjacent_difference() ... 333
adjacent_find() ... 334
binary_search() ... 334
copy() ... 334
copy_backward() ... 335
count() ... 335
count_if() ... 335
equal() ... 335
fill() ... 336
fill_n() ... 336
find() ... 336
find_end() ... 336
find_firse_of() ... 337
find_if() ... 337
for_each() ... 338
generate() ... 338
generate_n() ... 338
includes() ... 339
inner_product() ... 339
inplace_merge() ... 340
iter_swap() ... 340
lexicographical_compare() ... 340
mas(), min() ... 341
max_element(), min_element() ... 341
merge() ... 342
nth_element() ... 342
partial_sort(), partial_sort_copy() ... 343
partial_sum() ... 343
partition(), stable_partition() ... 344
random_shuffle() ... 344
remove(), remove_copy() ... 344
remove_if(), remove_copy_if() ... 345
replace(), replace_copy() ... 346
replace_if(), replace_copy_if() ... 346
reverse(), reverse_copy() ... 347
rotate(), rotate_copy() ... 347
search() ... 348
search_n() ... 348
set_difference() ... 348
set_intersection() ... 349
set_symmetric_difference() ... 349
set_union() ... 349
sort(), stable_sort() ... 350
transform() ... 350
unique(), unique_copy() ... 351
찾아보기 ... 353
더보기 닫기