목차 일부
저자 머리말 ... 4
워밍업 ... 6
강의 계획표 ... 8
숲과 나무 이야기 ... 10
강의 보조 자료와 관련 서비스 ... 12
Chapter 01 C++ 언어
01 C++언어의 소개 ... 22
ISO / IEC 14882 - Programming Language C++ ... 24
멀티 패러다임 ... 25
...
더보기
목차 전체
저자 머리말 ... 4
워밍업 ... 6
강의 계획표 ... 8
숲과 나무 이야기 ... 10
강의 보조 자료와 관련 서비스 ... 12
Chapter 01 C++ 언어
01 C++언어의 소개 ... 22
ISO / IEC 14882 - Programming Language C++ ... 24
멀티 패러다임 ... 25
C 언어와 C++ 언어 ... 26
02 C++ 언어와 객체지향 프로그래밍 ... 25
구조적 기법과 객체지향 기법 ... 29
객체지향 디자인 ... 33
03 C++ 프로그램의 구조 ... 37
첫 번째 C++프로그램 : Hello World ... 37
두 번째 C++프로그램 : 스택 ... 41
04 C++ 프로그램의 개발 환경 ... 47
비주얼 C++ ... 47
g++를 이용한 프로그램 개발 ... 56
요약 ... 65
연습문제, 심화연습문제 ... 66
Chapter 02 C++ 언어의 기초
01 입출력 ... 70
표준 출력 ... 70
표준 입력 ... 72
형식 지정 입출력 ... 74
파일 입출력 ... 78
02 문자열 처리 ... 83
문자열의 개념 ... 83
String 클래스 ... 85
03 메모리 관리 ... 98
new와 delete 연산자 ... 99
배열의 할당과 해제 ... 104
new와 delete의 생성자, 소멸자 호출 ... 106
04 함수의 기본 인자 ... 110
05 레퍼런스 ... 113
함수 호출에서의 인자 전달 ... 115
레퍼런스와 포인트 ... 118
06 네임스페이스 ... 120
선언 범위와 영역 ... 121
네임스페이스의 정의 ... 123
07 명시적 타입 변환 ... 133
요약 ... 137
연습문제, 심화연습문제 ... 138
Chapter 03 클래스
01 클래스와 객체지향 프로그래밍 ... 142
02 클래스의 작성 ... 143
03 클래스의 정의 ... 147
멤버 ... 148
생성자와 소멸자 ... 150
복사 ... 156
멤버의 생성과 초기화 목록 ... 159
다양한 형태로의 생성 ... 164
this 포이터 ... 168
접근 지정 ... 171
정방 선언 ... 174
요약 ... 176
연습문제, 심화연습문제 ... 177
현장의 목소리 : 소스 코드 공유를 위한 패턴 ... 180
Chapter 04 상속
01 상속 ... 186
02 protected 멤버 ... 195
03 상속의 유형 ... 198
public 상속 ... 198
private 상속 ... 200
protected 상속 ... 202
접근 지정자를 명시하지 않는 상속 ... 203
04 인스턴스의 생성과 소멸 ... 205
생성자, 소멸자의 실행 ... 205
초기화 목록에 의한 생성 지정 ... 208
05 오버라이딩 ... 210
06 접근 선언 ... 213
07 업캐스팅과 다운케스팅 ... 215
요약 ... 218
연습문제, 심화연습문제 ... 219
Chapter 05 클래스 완성
01 복사 생성자 ... 224
기본 복사 생성자 ... 225
기본 복사 생성자의 문제점 ... 226
사용자 정의 복사 생성자 ... 227
복사 생성자를 포함한 array 클래스 ... 229
02 프렌드 ... 232
프렌드의 선언 ... 233
프렌드 관계의 속성 ... 238
상호 프렌드와 공유 프렌드 ... 240
03 내장 클래스 ... 242
내장 클래스를 이용한 큐의 구현 ... 243
04 클래스와 static, const, mutable ... 250
static 지시자 ... 250
const 한정자 ... 254
mutable 지시자 ... 258
05 explicit 지시자 ... 260
요약 ... 263
연습문제, 심화연습문제 ... 264
Chapter 06 가상 함수와 다중 상속
01 가상 함수와 다중 상속의 개요 ... 268
02 가상 함수와 순수 가상 함수 ... 271
가상 함수 ... 272
다형적 타입과 동적 바인딩 ... 275
순수 가상 함수 ... 276
실행 시간 타입 정보(RTTI, Run-Time Type Information) ... 279
03 추상 클래스 ... 287
추상 클래스의 정의 ... 287
추상 클래스의 예 ... 292
04 가상 소멸자 ... 295
05 다중 상속 ... 302
다중 상속의 정의 ... 303
다중 상속에서의 가상 함수 ... 305
상속에서의 애매함 ... 309
06 가상 상속 ... 312
가상 기본 클래스 ... 313
가상 기본 클래스의 생성 책임 ... 316
07 다중 상속에서의 생성과 소멸의 순서 ... 320
일반 클래스군의 생성 ... 320
가상 상속이 있는 클래스군의 생성 ... 322
요약 ... 324
연습문제, 심화연습문제 ... 325
현장의 목소리 : 비주얼 스튜디오의 자동화 ... 331
Chapter 07 오버로딩
01 오버로딩의 개요 ... 336
오버로딩의 개념 ... 336
02 함수 오버로딩 ... 338
오버로딩에서 주의할 점 ... 339
오버로딩의 예 : 다양한 방법으로 파일 열기 ... 345
오버로딩된 함수의 선택 ... 349
오버로딩된 함수의 바인딩 ... 352
멤버 함수의 오버로딩 ... 352
03 연산자 오버로딩 ... 355
연산자 오버로딩의 정의 ... 357
사칙 연산자 ... 362
대입 연산자 ... 365
전위, 후위 증감 연산자 ... 373
첨자 연산자 ... 378
함수 호출 연산자 ... 380
멤버 접근 연산자와 역참조 연산자 ... 383
오버로딩이 가능한 연산자와 가능하지 않는 연산자 ... 385
요약 ... 389
연습문제, 심화연습문제 ... 390
Chapter 08 템플릿
01 개요 ... 396
제네릭 프로그래밍과 템플릿 ... 397
02 템플릿 함수 ... 400
템플릿 함수의 정의 ... 400
템플릿 실체화 ... 404
헤더와 템플릿 ... 408
템플릿의 매개 변수 ... 412
템플릿 내의 static 변수 ... 416
03 특화 ... 418
04 템플릿 클래스 ... 421
템플릿 클래스의 정의 ... 421
템플릿 클래스의 멤버 ... 422
클래스 내에서의 또 다른 템플릿 선언 ... 425
기본 템플릿 인자 ... 432
템플릿 클래스의 프렌드 ... 434
템플릿 템플릿 인자 ... 436
05 표준 템플릿 라이브러리 ... 439
헤더와 네임스페이스 ... 440
컨테이너 ... 444
함수 객체 ... 452
알고리즘 ... 454
이터레이터 ... 456
요약 ... 458
연습문제, 심화연습문제 ... 459
chapter 09 예외처리
01 예외 처리의 소개 ... 464
에러의 처리 ... 464
예외 처리의 구조 ... 467
02 예외의 발생 지정 ... 482
03 중첩된 예외 처리 ... 485
04 모두 처리 ... 488
05 다시 던지기 ... 491
06 try 블록 함수 ... 493
07 예외와 관련된 특별한 세 가지 함수 ... 498
terminate ... 498
unexpected ... 501
uncaught.exception ... 503
08 에러 처리와 반환 값을 이용한 에러 처리의 비교 ... 506
09 자원 관리와 예외 처리 : 스택 비우기 ... 509
예외와 자원 누수 ... 509
소멸자에서의 예외 발생 ... 513
함수 terminate에서의 스택 상태 ... 515
생성자에서 발생하는 예외 처리 ... 515
10 표준 예외 클래스 ... 519
기반 예외 클래스 exception ... 519
logic_error와 runtime_error ... 520
기타 예외 클래스 ... 523
11 예외에 강건한 프로그램 설계 : Exception Safety ... 524
예외 처리의 어려움 ... 524
표준 라이브러리에서의 예외 처리 ... 526
객체의 관점에서 본 예외에 대한 안전성 ... 527
프로그램 작성 원칙 ... 527
요약 ... 534
연습문제, 심화연습문제 ... 535
Chapter 10 프로젝트 : 바이너리 탐색 트리
01 바이너리 탐색 트리 ... 540
트리의 구조 ... 541
트리의 검색 효율 ... 542
꽉 찬 트리와 균형 트리 ... 544
효율적 바이너리 탐색 트리의 구성 ... 545
02 알고리즘 ... 547
삽입 연산 ... 547
탐색 ... 549
삭제 ... 550
모든 노드의 방문 ... 554
03 설계 및 알고리즘 ... 557
배열과 포인터 ... 557
추가 연산 ... 564
탐색 연산 ... 566
삭제 연산 ... 569
방문 연산 ... 574
04 전체 프로그램 ... 575
요약 ... 588
연습문제, 심화연습문제 ... 589
찾아보기 ... 592
더보기 닫기