목차
제1장 C++의 기본 개념 ... 13
1.1 객체 지향 프로그램 ... 15
1.2 C++의 특징 ... 18
1.3 객체 지향 언어 C++의 장점과 단점 ... 19
1.4 C와 C++의 비교 ... 20
1.5 설명문(comment) ... 21
1.6 모니터 입출력(CRT I / O) ... 21
제2장 변수와 상수 ... 25
2.1 변수 ... 25
2.2 상수(constant) ... 33
제3장 수식과 문 ... 45
3.1 식(expressions) ... 45
3.2 산술 연산자(arithmetic operators) ... 46
3.3 상등, 관계 및 노리 연산자(equality, relational and logical operators) ... 48
3.4 대입 연산자(assignment operators) ... 51
3.5 증감 연산자(increment and decrement operators) ... 53
3.6 sizeof 연산자 ... 54
3.7 산술 if 연산자(arithmetic if operators) ... 56
3.8 콤마 연사자(comma operators) ... 57
3.9 비트 조작 연산자(bitwise operators) ... 58
3.10 우선 순위(precedence) ... 63
3.11 형 변환(type conversion) ... 66
3.12 문(statements) ... 70
3.13 문 흐름 제어(statement flow control) ... 71
3.14 선택문(select statement) ... 71
3.15 조건 연산문 ... 81
3.16 switch문 ... 82
3.17 반복문 ... 87
3.18 while루프 ... 94
3.19 분기문 ... 98
3.20 연산문 ... 104
3.21 블록문 ... 104
제4장 함수 ... 107
4.1 함수의 기본형 ... 107
4.2 함수의 호출 ... 113
4.3 형식인자와 실인자 ... 114
4.4 반환문이 없는 경우 : void ... 116
4.5 인자 전달 방식 ... 117
4.6 되부름(recursive call) 함수 ... 126
제5장 클래스 ... 131
5.1 기본 개념 ... 131
5.2 멤버함수와 메소드 ... 137
5.3 friend 함수 ... 148
5.4 클래스, 구조체, 공용체 ... 150
5.5 클래스를 이용한 자료구조 ... 151
제6장 포인터와 배열 ... 155
6.1 배열(array) ... 155
6.2 포인터(pointer) ... 160
제7장 참조 ... 187
7.1 참조의 정의 ... 187
7.2 참조에 주소 연산자 & 사용하기 ... 189
7.3 참조의 대상 ... 191
7.4 널 포인터와 널 참조 ... 193
7.5 참조에 의한 함수 인수 전달 ... 193
7.6 함수의 헤더와 원형 이해하기 ... 198
7.7 여러 가지 값의 반환 ... 199
7.8 참조에 의한 값 반환 ... 201
7.9 효율적인 참조에 의한 전달 ... 202
7.10 상수(const) 포인터 전달하기 ... 205
7.11 다른 방법으로 이용되는 참조 ... 208
7.12 참조와 포인터의 비교 ... 210
7.13 참조와 포인터의 혼용 ... 211
7.14 존재하지 않는 개체에 대한 참조의 반환 ... 211
7.15 더미(heap)에 의한 참조 반환하기 ... 213
7.16 포인터 소유의 대상 ... 215
제8장 상속 ... 217
8.1 상속의 정의 ... 217
8.2 상속과 파생 ... 218
8.3 파생의 문법 ... 219
8.4 private와 protected의 차이점 ... 221
8.5 생성자와 소멸자 ... 223
8.6 기반 생성자에 인수 전달하기 ... 226
8.7 함수 재정의 ... 231
8.8 기반 클래스 메소드 숨기기 ... 232
8.9 기반 메소드 호출하기 ... 234
8.10 가상 메소드 ... 236
8.11 가상 함수의 동작 방법 ... 239
8.12 잘라내기 ... 242
8.13 가상 소멸자 ... 244
8.14 가상 복사 생성자 ... 244
8.15 가상 메소드의 대가 ... 247
제9장 다형성 ... 249
9.1 단일 상속의 문제점 ... 249
9.2 상위 계층 삽입 ... 252
9.3 하위 형 변환 ... 253
9.4 두 목록에 추가하기 ... 255
9.5 다중상속 ... 256
9.6 다중 상속된 개체의 구성 ... 259
9.7 다중 상속 개체의 생성자 ... 259
9.8 애매성 해결 ... 263
9.9 공유 기반 클래스로부터 상속하기 ... 264
9.10 가상 상속 ... 268
9.11 다중 상속의 문제점 ... 272
9.12 혼합 가능성 클래스 ... 272
9.13 추상 테이터 형 ... 273
9.14 순수 가상 함수 ... 277
9.15 순수 가상 함수의 구현 ... 278
9.16 복잡한 추상 계층 ... 282
9.17 관찰자 패턴 ... 288
제10장 STREAM ... 291
10.1 stream의 개요 ... 291
10.2 표준 I / O 개체 ... 295
10.3 문자열 ... 298
10.4 파일 입·출력 ... 316
제11장 전처리기 ... 327
11.1 전처리기와 컴파일러 ... 327
11.2 매크로 함수 ... 335
11.3 매크로와 함수 및 템플릿의 비교 ... 338
11.4 클래스의 불변 조건 ... 345
11.5 디버깅 수준 ... 353
제12장 개체 지향적 분석과 설계 ... 359
12.1 개체 지향적 시각에서의 문제 분석 ... 359
12.2 개체 지향적 시각에서의 프로그래밍 방법 ... 367
12.3 재사용과 확장을 위한 설계 방법 ... 379
제13장 템플릿 ... 391
13.1 템플릿의 개념 ... 391
13.2 템플릿의 구현 ... 395
13.3 템플릿 함수 ... 399
13.4 템플릿 항목의 사용 ... 406
13.5 전문화 함수 ... 401
13.6 정적 멤버와 템플릿 ... 415
13.7 표준 템플릿 라이브러리 ... 419
제14장 예외와 오류 처리 ... 421
14.1 Bug, Error 및 코드의 악화 ... 421
14.2 예외 ... 423
14.3 예외 처리 블록과 포착 블록 ... 429
14.4 예외와 템플릿 ... 447
14.5 오류 없는 예외 ... 450
14.6 bug와 debugging ... 451
찾아보기 ... 454
닫기