목차 일부
머리말 ... 3
인터넷 강의 안내 ... 8
Part 1. C++로의 전환 ... 16
1장 C 기반의 C++ 1 ... 17
1-1. printf와 scanf를 대신하는 입ㆍ출력 방식 ... 19
1-2. 함수 오버로딩(Function Overloading) ... 28
1-3. 디폴트(Default) 매개 변수 ....
더보기
목차 전체
머리말 ... 3
인터넷 강의 안내 ... 8
Part 1. C++로의 전환 ... 16
1장 C 기반의 C++ 1 ... 17
1-1. printf와 scanf를 대신하는 입ㆍ출력 방식 ... 19
1-2. 함수 오버로딩(Function Overloading) ... 28
1-3. 디폴트(Default) 매개 변수 ... 34
1-4. 인-라인(in-line) 함수 ... 38
1-5. 이름공간(namespace)에 대한 소개 ... 40
1-6. 연습문제 정답 및 해설 ... 50
1-7. OOP 프로젝트 1단계 ... 54
2장 C 기반의 C++ 2 ... 59
2-1. 들어가기에 앞서서 ... 61
2-2. 새로운 형태의 자료형 bool ... 62
2-3. 레퍼런스(Reference)의 이해 ... 65
2-4. 레퍼런스와 함수 ... 71
2-5. 레퍼런스를 이용한 성능의 향상 ... 74
2-6. 레퍼런스를 리턴하는 함수의 정의 ... 78
2-7. new & delete ... 83
Part 2. 객체지향의 도입 ... 90
3장 클래스의 기본 ... 91
3-1. 구조체와 클래스 ... 93
3-2. 클래스와 객체 ... 103
3-3. 클래스 멤버의 접근 제어 ... 106
3-4. 멤버 함수의 외부 정의 ... 110
3-5. 연습문제 정답 및 해설 ... 115
4장 클래스의 완성 ... 119
4-1. 정보 은닉(Information Hiding) ... 121
4-2. 캡슐화(Encapsulation) ... 127
4-3. 생성자(Constructor)와 소멸자(Destructor) ... 134
4-4. 클래스와 배열 ... 158
4-5. this 포인터 ... 163
4-6. friend 선언 ... 167
4-7. 연습문제 정답 및 해설 ... 171
4-8. OOP 프로젝트 2단계 ... 175
5장 복사 생성자 ... 181
5-1. C++ & C 스타일 초기화 ... 183
5-2. 복사 생성자의 형태 ... 186
5-3. 디폴트 복사 생성자 ... 187
5-4. 깊은 복사(Deep Copy)를 하는 복사 생성자 ... 190
5-5. 복사 생성자가 호출되는 시점 ... 197
5-6. 연습문제 정답 및 해설 ... 206
5-7. OOP 프로젝트 3단계 ... 208
6장 static 멤버와 const 멤버 ... 211
6-1. 클래스와 const ... 213
6-2. 클래스와 static ... 224
6-3. 그 이외의 키워드: explicit & mutable ... 234
6-4. OOP 프로젝트 4단계 ... 236
Part 3. 객체지향의 전개 ... 238
7장 상속(Inheritance)의 이해 ... 239
7-1. 상속으로 들어가기에 앞서서 ... 241
7-2. 상속의 기본 개념 ... 242
7-3. 상속하는 클래스의 객체 생성 및 소멸 과정 ... 250
7-4. protected 멤버 ... 259
7-5. 세 가지 형태의 상속 ... 264
7-6. 상속을 하는 이유 ... 267
7-7. 연습문제 정답 및 해설 ... 271
7-8. OOP 프로젝트 5단계 ... 274
8장 상속과 다형성 ... 281
8-1. 상속의 조건 ... 283
8-2. 상속된 객체와 포인터의 관계 ... 292
8-3. 상속된 객체와 참조의 관계 ... 304
8-4. Static Binding & Dynamic Binding ... 306
8-5. "Employee Problem" 완전 해결 ... 318
8-6. virtual 소멸자의 필요성 ... 322
8-7. 연습문제 정답 및 해설 ... 326
8-8. OOP 프로젝트 6단계 ... 330
9장 virtual의 원리와 다중 상속 ... 337
9-1. 클래스의 멤버 함수는 사실 어디에 ... 339
9-2. 가상 함수가 동작하는 원리 ... 343
9-3. 다중 상속에 대한 이해 ... 346
9-4. 다중 상속의 모호성 ... 348
9-5. Virtual Base 클래스 ... 350
9-6. OOP 프로젝트 7단계 ... 352
Part 4. 객체지향의 완성 ... 362
10장 연산자 오버로딩 ... 363
10-1. 연산자를 오버로딩한다는 것은 어떤 의미인가? ... 365
10-2. 연산자를 오버로딩하는 두 가지 방법 ... 369
10-3. 단항 연산자의 오버로딩 ... 380
10-4. 교환 법칙 해결하기 ... 387
10-5. cout, cin 그리고 endl의 비밀 ... 393
10-6. 배열의 인덱스 연산자 오버로딩의 예 ... 400
10-7. 반드시 해야만 하는 대입 연산자의 오버로딩 ... 405
10-8. 연습문제 정답 및 해설 ... 412
10-9. OOP 프로젝트 8단계 ... 415
11장 string 클래스 디자인 ... 427
11-1. C++ 표준 라이브러리 ... 429
11-2. 표준 string 클래스 ... 430
11-3. 사용자 정의 string 클래스 ... 433
11-4. OOP 프로젝트 9단계 ... 439
12장 탬플릿(Template) ... 447
12-1. 템플릿(template)에 대한 이해 ... 449
12-2. 함수 템플릿 ... 452
12-3. 클래스 템플릿 ... 456
12-4. 템플릿의 원리 이해 ... 467
12-5. 연습문제 정답 및 해설 ... 470
12-6. OOP 프로젝트 10단계 ... 472
13장 예외 처리(Exception Handling) ... 477
13-1. 기존의 예외 처리 방식 ... 479
13-2. C++의 예외 처리 메커니즘 ... 482
13-3. Stack Unwinding(스택 풀기) ... 488
13-4. 예외 상황을 나타내는 클래스의 설계 ... 501
13-5. 예외를 나타내는 클래스와 상속 ... 502
13-6. new 연산자에 의해 전달되는 예외 ... 508
13-7. 예외 처리에 대한 나머지 문법 요소 ... 509
13-8. OOP 프로젝트 11단계 ... 511
더보기 닫기