목차 일부
저자 서문 ... 3
성적표 프로젝트 개발 프로세스 ... 4
학습 로드맵 ... 8
Part 1 C++를 배우기 위한 준비
1장. C++를 배우기 전에 ... 21
01. C++란 ... 22
2장. 필자와 친해지기 ... 33
01. C++를 공부하는 방법 ... 34
Part 2 C++ 사용하기
3장. Hello ...
더보기
목차 전체
저자 서문 ... 3
성적표 프로젝트 개발 프로세스 ... 4
학습 로드맵 ... 8
Part 1 C++를 배우기 위한 준비
1장. C++를 배우기 전에 ... 21
01. C++란 ... 22
2장. 필자와 친해지기 ... 33
01. C++를 공부하는 방법 ... 34
Part 2 C++ 사용하기
3장. Hello World - C++ 프로그램은 어떻게 생겼나 ... 41
01. Hello World 프로그램 훑어보기 ... 42
Exercise 3-1 내 인생 첫 번째 프로그램 ... 46
이것만은 알고 갑시다 ... 47
4장. 변수 - 정보를 담는 방법 ... 49
01. C++에서 정보를 다루는 법 ... 50
Vitamin Quiz 음악을 숫자로 보관하는 방법 ... 51
Exercise 4-1 변수의 정의 연습 ... 57
Exercise 4-2 변수끼리 대입하기 ... 59
02. 변수를 사용하는 규칙 ... 60
이것만은 알고 갑시다 ... 68
5장. 타입 1 - 정보의 종류 ... 69
01. C++에서 제공하는 타입 ... 70
Exercise 5-1 모든 타입의 크기 확인 ... 78
Vitamin Quiz 타입의 범위 계산하기 ... 80
Exercise 5-2 문자열과 숫자의 화면 출력 ... 86
Vitamin Quiz 값과 해석 ... 87
02. 형변환 ... 92
Exercise 5-3 문제가 발생하는 형변환 정리 ... 97
이것만은 알고 갑시다 ... 101
6장. 연산자 - 정보를 가공하는 법 ... 103
01. 기본적인 연산자 ... 104
Exercise 6-1 연산자를 사용한 입장 제한 ... 117
02. 비트 단위 연산 ... 118
Exercise 6-2 10진수, 2진수, 16진수 변환 연습 ... 120
Vitamin Quiz XOR 연산 ... 125
Exercise 6-3 컴퓨터가 되어보자 ... 131
03. 연산자 더 잘 알기 ... 134
이것만은 알고 갑시다 ... 139
7장. 분기와 반복 - 프로그램 흐름을 조절하는 법 ... 141
01. 분기 ... 142
Exercise 7-1 학점 정하기 ... 149
Exercise 7-2 학점별 안내 문구 출력 ... 156
Vitamin Quiz Switch/case와 if ... 157
02. 반복 ... 163
Exercise 7-3 while로 구구단을 외자 ... 175
Vitamin Quiz for, while, do while ... 178
이것만은 알고 갑시다 ... 179
8장. 〈프로젝트〉 성적표 Ver 1 ... 181
01. 프로젝트의 소개 ... 182
02. 성적표 Ver 1.0 - 메뉴의 구성 ... 185
03. 성적표 Ver 1.1 - 세 명의 성적 처리하기 ... 189
04. 성적표 Ver 1.2 - 성적표 예쁘게 출력하기 ... 194
9장. 배열 - 변수를 여러 개 모아놓은 변수 ... 197
01. 배열의 기본 ... 198
Exercise 9-1 배열을 사용해서 평균 구하기 ... 202
Vitamin Quiz 배열의 전체크기는 어떻게 될까? ... 205
02. 배열에서의 문자열 사용 ... 210
Exercise 9-2 문자열 뒤집기 ... 214
이것만은 알고 갑시다 ... 215
10장. 구조체 - 다양한 타입의 정보를 한 곳에 모으는 법 ... 217
01. 구조체의 기본 ... 218
Exercise 10-1 모든 타입의 멤버를 갖는 구조체 ... 220
Vitamin Quiz 틀과 붕어빵은 생활 속에 ... 221
Vitamin Quiz 구조체 변수의 덧셈? ... 223
Exercise 10-2 만약 세상에 구조체가 없었다면 ... 226
이것만은 알고 갑시다 ... 229
11장. 포인터 - 정보에 대한 정보 ... 231
01. 포인터의 기본 ... 232
Exercise 11-1 일부러 틀리기 ... 240
Vitamin Quiz void 타입의 포인터 변수의 크기는? ... 243
Vitamin Quiz 포인터 변수를 가리키는 포인터 변수 ... 247
02. 포인터와 Const ... 250
Exercise 11-2 빈칸 채우기 ... 254
이것만은 알고 갑시다 ... 255
12장. 배열과 구조체와 포인터 - 복합적인 방법으로 정보를 다루는 법 ... 257
01. 포인터와 배열 ... 258
Vitamin Quiz 변수 i 없이 탐색할 수 없을까? ... 265
Exercise 12-1 배열을 가리키는 포인터를 사용해서 배열 탐색하기 ... 268
02. 배열과 구조체 ... 269
Exercise 12-2 사용자 정보 채우기 ... 273
03. 포인터와 구조체 ... 274
Vitamin Quiz 연산자 우선 순위 ... 275
Exercise 12-3 메모리 상태 확인하기 ... 279
이것만은 알고 갑시다 ... 280
13장. 복합 타입의 모든 것 - 복합적인 정보 ... 283
01. 나머지 복합 타입들 ... 284
Exercise 13-1 공용체 특징 이해 ... 286
Exercise 13-2 열거체 연습 ... 291
Vitamin Quiz 포인터 변수에 대한 레퍼런스 ... 294
Exercise 13-3 배열 타입에 대한 별명 ... 297
02. 배열, 구조체, 포인터의 나머지 기능 ... 298
Exercise 13-4 다차원 배열에 구구단 결과 보관하기 ... 304
이것만은 알고 갑시다 ... 307
14장. 함수 1 - 관련된 코드를 모아서 담을 수 있는 가방 ... 309
01. 함수의 기본 ... 310
Exercise 14-1 이름 10번 써 오기 ... 316
Exercise 14-2 또 이름 10번 써 오기 ... 319
02. 인자의 전달 ... 321
Exercise 14-3 중간값 구하기 ... 330
Exercise 14-4 코드 분석하기 ... 340
Vitamin Quiz 포인터 변수를 사용하는 좋은 습관 ... 341
Exercise 14-5 또 중간값 구하기 ... 344
Vitamin Quiz 이차원 배열의 전달 ... 347
Exercise 14-6 구조체 전달의 문제점 지적하기 ... 352
이것만은 알고 갑시다 ... 356
15장. 함수 2 - 함수의 모든 것 ... 359
01. 함수의 모든 것 ... 360
Vitamin Quiz 오버로딩 vs 디폴트 인자 ... 368
Exercise 15-1 재귀호출을 이해해보자 ... 372
Exercise 15-2 전체 시나리오 이해하기 ... 386
이것만은 알고 갑시다 ... 387
16장. 동적 메모리 할당 - 보다 자유로운 저장 공간 ... 389
01. 동적 메모리 할당의 기본 ... 390
Exercise 16-1 상위권 점수만 출력하자 ... 398
02. 동적 메모리 할당의 응용 ... 405
Exercise 16-2 문자열 이동하기 ... 411
이것만은 알고 갑시다 ... 415
17장. 문자열 - 문자의 배열 ... 417
01. 문자열 사용의 기본 ... 418
Exercise 17-1 strlen() 직접 구현하기 ... 422
Vitamin Quiz 함수의 인자 분석하기 ... 422
Exercise 17-2 욕 판별 함수 작성하기 ... 426
Exercise 17-3 욕 판별 함수 개선하기 ... 440
02. 문자열의 사용 ... 442
Exercise 17-4 절대 경로의 디렉토리 부분만 출력하기 ... 451
이것만은 알고 갑시다 ... 452
18장. 헤더 파일과 구현 파일 - 여러 개의 소스 파일을 사용하는 법 ... 453
01. 헤더 파일과 구현 파일의 사용 ... 454
Exercise 18-1 예제 검토 ... 469
Exercise 18-2 또 예제 검토 ... 474
Vitamin Quiz 같은 이름의 다른 구조체 ... 475
Vitamin Quiz 헤더 파일의 중복 포함을 막는 또 다른 방법 ... 479
이것만은 알고 갑시다 ... 481
19장. 〈프로젝트〉 성적표 Ver 2 ... 483
01. 성적표 Ver 2.0 - 구조체와 배열의 사용 ... 484
02. 성적표 Ver 2.2 - 함수와 파일로 나누기 ... 489
03. 링크드 리스트 ... 497
04. 성적표 Ver 2.3 - 링크드 리스트의 사용 ... 510
Part 3 C++ 객체지향 프로그래밍
20장. 객체지향 프로그래밍 - 레고 블록 조립하듯이 프로그래밍하는 법 ... 517
01. 객체지향 프로그래밍의 시작 ... 518
이것만은 알고 갑시다 ... 530
21장. 클래스와 객체 - 객체지향 프로그래밍의 기본 ... 531
01. 클래스와 객체의 기본 ... 532
Exercise 21-1 내 생애 첫 번째 멤버 함수 ... 536
Vitamin Quiz 대입 연산자 복습 ... 542
Exercise 21-2 당구공 클래스 ... 550
Vitamin Quiz 얕은 복사 복습 ... 561
Exercise 21-3 당구공 클래스에 접근 권한 설정 ... 567
Exercise 21-4 당구공 클래스에 접근자 추가 ... 574
Exercise 21-5 당구공 클래스 최적화 ... 579
02. 클래스와 객체 자세히 살펴보기 ... 585
Exercise 21-6 함수 포인터 연습 ... 601
Exercise 21-7 당구공 4개 생성하기 ... 606
이것만은 알고 갑시다 ... 623
22장. 상속과 포함 - 클래스의 재사용 ... 629
01.포함 ... 630
Vitamin Quiz 버그 수정 ... 635
Exercise 22-1 생성자와 소멸자의 순서 ... 638
02.상속 ... 639
Vitamin Quiz 객체의 크기 확인하기 ... 646
Exercise 22-2 생성자와 소멸자의 순서 ... 649
Exercise 22-3 멤버 함수도 확인하자 ... 657
이것만은 알고 갑시다 ... 663
23장. 다형성과 가상 함수 - 부품간의 조립 ... 665
01. 가상 함수를 사용한 다형성의 구현 ... 666
Exercise 23-1 다양한 도형 추가 ... 676
Vitamin Quiz 다형성 복습 ... 681
02. 오버라이딩 ... 682
이것만은 알고 갑시다 ... 691
24장. 예외 처리 - 프로그램이 갑자기 죽지 않게 하는 법 ... 693
01. 예외 처리의 기본 ... 694
Vitamin Quiz 먼저 생각해보기 ... 700
Exercise 24-1 예외 처리 연습 ... 705
Exercise 24-2 함수 실행 과정 확인해보기 ... 713
02. 구조적 예외 처리 제대로 사용하기 ... 719
Vitamin Quiz 먼저 생각해보기 ... 725
Exercise 24-3 auto_ptr 적용 ... 728
이것만은 알고 갑시다 ... 731
25장. 〈프로젝트〉 성적표 Ver 3 ... 735
01. 성적표 Ver 2.4 - 성적표 Ver 2.3의 버그 수정 ... 736
02. 성적표 Ver 3.0 ~ 3.2 - 단계적인 클래스화 ... 744
03. 성적표 Ver 3.3 - 새로운 학생 클래스 ... 752
04. 성적표 Ver 3.4 ~ 3.5 - 다양한 방식의 성적표 출력 ... 759
05. 성적표 Ver 3.6 - 예외 처리의 추가 ... 776
06. 프로젝트 리뷰 ... 787
Part 4 C++ 고급 기능
26장. 접근 범위와 존속 기간 - 변수와 함수 다시 보기 ... 791
01. 변수와 함수의 접근 범위와 존속 기간 ... 792
Exercise 26-1 존속 기간 확인 ... 795
Vitamin Quiz 멤버 함수 안에 정의한 변수는? ... 801
Exercise 26-2 또 존속 기간 확인 ... 802
이것만은 알고 갑시다 ... 807
27장. 타입 2 - 사용자 정의 타입으로서의 클래스 ... 809
01. 연산자 오버로딩 ... 810
Exercise 27-1 복소수의 뺄셈 ... 813
Exercise 27-2 연산자 ... 815
Exercise 27-3 일반 함수로 구현한 복소수의 뺄셈 ... 817
02. 클래스와 관련된 형변한 ... 822
Vitamin Quiz 레퍼런스의 경우는 왜 예외를 던질까? ... 827
이것만은 알고 갑시다 ... 831
28장. 네임스페이스 - 관련된 코드를 묶어주는 논리적인 가방 ... 835
01. 네임스페이스 사용하기 ... 836
Exercise 28-1 Using-Declaration ... 844
이것만은 알고 갑시다 ... 851
29장. 템플릿과 STL - 컴퓨터에게 코딩을 맡기자 ... 853
01. 템플릿 ... 854
Vitamin Quiz AutoArray〈float〉와 AutoArray〈int〉의 관계는? ... 858
Exercise 29-1 main() 함수 만들기 ... 860
02. STL ... 861
Exercise 29-2 vector 사용하기 ... 865
이것만은 알고 갑시다 ... 870
30장. 입출력 - 콘솔 창과 파일에 입출력하기 ... 871
01. C++ 스타일의 입출력 ... 872
Exercise 30-1 진법 변환 ... 880
Exercise 30-2 채팅 내용 저장하기 ... 884
02. C 스타일의 입출력 ... 885
이것만은 알고 갑시다 ... 890
Part 5 비주얼 스튜디오 사용하기
31장. 비주얼 스튜디오 닷넷 사용하기 ... 893
01. 비주얼 스튜디오 닷넷 사용 방법 ... 894
32장. 비주얼 스튜디오 6.0 사용하기 ... 907
01. 비주얼 스튜디오 6.0 사용 방법 ... 908
부록 ... 913
부록 A. C++ 보충 학습 ... 914
부록 B. 타입의 범위 ... 918
부록 C. 연산자 우선 순위 ... 920
부록 D. 아스키 코드 ... 922
부록 E. 호환성 노트 ... 924
찾아보기 ... 926
더보기 닫기