목차 일부
Borland C++ Builder 6을 설치하자 ... 12
마이크로소프트 비주얼 스튜디오 6.0을 설치하자 ... 17
C++ 톡 걸기/C++의 역사 ... 23
Chapter 1. C++를 시작하는 발걸음도 가볍게
Lesson 1. C++는 어떤 개발도구인가요 ... 34
프로그램의 구조를 알아봐요 ... 34
C++는 프로...
더보기
목차 전체
Borland C++ Builder 6을 설치하자 ... 12
마이크로소프트 비주얼 스튜디오 6.0을 설치하자 ... 17
C++ 톡 걸기/C++의 역사 ... 23
Chapter 1. C++를 시작하는 발걸음도 가볍게
Lesson 1. C++는 어떤 개발도구인가요 ... 34
프로그램의 구조를 알아봐요 ... 34
C++는 프로그래밍 언어이지요 ... 35
Lesson 2. 코드 입력을 배워요 ... 36
'코드'란 무엇일까요 ... 36
상용 개발 환경을 사용해요 ... 37
텍스트 에디터에 코드를 입력해요 ... 38
Lesson 3. 프로그램을 어떻게 작성할까요 ... 39
코드를 번역해요 ... 39
컴파일러를 실행해요 ... 39
오브젝트 파일을 링크해요 ... 40
Lesson 4. 프로그램은 어떻게 실행할까요 ... 42
프로그램을 실행해요 ... 42
알아야 해 ... 44
연습해야 해 ... 45
Chapter 2. C++의 기본, 어렵지 않아요
Lesson 1. 화면으로 출력이란 ... 48
새로운 코드를 입력해요 ... 48
화면에 출력한다고 부르지요 ... 49
화면 출력 코드는 요렇게 생겼죠 ... 50
Lesson 2. 코드의 내용을 배워요 ... 52
코드의 흐름을 따라가요 ... 52
main() 함수가 뭐지요 ... 52
1문씩 처리해요 ... 54
코드를 읽기 쉽게 만들어요 ... 55
주석을 기술해요 ... 56
주석을 기술하는 다른 방법이 있어요 ... 56
프리프로세서 처리를 이해해요 ... 57
Lesson 3. 문자와 수치는 어떻게 적을까요 ... 59
리터럴은 무엇인가요 ... 59
문자 리터럴을 배워요 ... 61
문자 코드를 배워요 ... 62
문자열 리터럴을 배워요 ... 63
수치 리터럴을 배워요 ... 64
알아야 해 ... 68
연습해야 해 ... 69
C++ 톡 걸기/C가 C++로 거듭난 배경은 ... 71
Chapter 3. 변수로 컴퓨터를 말랑하게 다뤄요
Lesson 1. 변수는 언제든 변할 수 있죠 ... 74
변수의 구조를 알아봐요 ... 74
Lesson 2. 식별자로 변수 이름을 지어요 ... 75
변수의 '이름'은 알기 쉽게 지어요 ... 75
Lesson 3. 자료형으로 변수의 형을 표현해요 ... 77
형의 구조를 알아봐요 ... 77
Lesson 4. 변수는 선언해야 쓸 수 있어요 ... 81
변수를 선언해요 ... 81
Lesson 5. 변수를 이용해요 ... 83
변수에 값을 대입해요 ... 83
변수의 값을 출력해요 ... 85
변수를 초기화해요 ... 86
변수의 값을 변경해요 ... 87
다른 변수의 값을 대입해요 ... 89
값을 대입할 때 주의하세요 ... 90
변수의 선언 위치에 주의하세요 ... 92
Lesson 6. 키보드로부터 입력받아서 어디에 쓰나요 ... 93
키보드로 입력해요 ... 93
2개 이상의 수치를 입력해요 ... 95
사용자 입력은 주의하세요 ... 96
Lesson 7. const 키워드를 지정하면 꼼짝 못해요 ... 97
const 키워드를 지정해요 ... 97
const 키워드의 구조를 알아봐요 ... 98
const 키워드는 조심해서 다루세요 ... 99
알아야 해 ... 101
연습해야 해 ... 102
C++ 톡 걸기/C++에서의 객체 지향이란 뭘까 ... 103
Chapter 4. 연산자를 알면 식의 구조가 보여요
Lesson 1. 식이랑 연산자랑 ... 106
식의 구조를 알아봐요 ... 106
식의 값을 출력해요 ... 107
다양한 연산을 할 수 있어요 ... 107
키보드로부터 입력된 값을 덧셈해요 ... 109
Lesson 2. 연산자는 몇 가지 있을까요 ... 112
연산자를 모아봐요 ... 112
증가 연산자와 감소 연산자 ... 114
증가·감소의 전치와 후치는 맘대로 ... 116
대입 연산자로 값을 넣어줘요 ... 118
sizeof 연산자는 형과 식의 크기를 알려줘요 ... 122
시프트 연산자로 값을 옮기지요 ... 124
Lesson 3. 연산자는 우선순위대로 움직여요 ... 126
연산자의 우선순위를 알아봐요 ... 126
같은 우선순위의 연산자를 사용해요 ... 129
Lesson 4. 연산자와 오퍼랜드 형은 무슨 관계일까요 ... 130
연산자와 오퍼랜드 형은 궁합이 맞아야 쓸 수 있죠 ... 130
큰 크기의 형으로 변환해요 ... 130
작은 크기의 형으로 변환해요 ... 133
캐스트 연산자로 형을 변환해요 ... 134
명시적인 형 변환이 필요할 때가 있어요 ... 135
알아야 해 ... 138
연습해야 해 ... 139
Chapter 5. 관계 연산자와 조건문으로 경우에 따라 처리해요
Lesson 1. 관계 연산자와 조건은 항상 같이 다니죠 ... 142
조건의 구조를 알아봐요 ... 142
C++의 조건을 식으로 나타내요 ... 143
true와 false를 이해해요 ... 144
관계 연산자를 사용해서 조건을 기술해요 ... 145
Lesson 2. if문은 조건이 참일 때만 처리하죠 ... 147
if문의 구조를 알아봐요 ... 147
복수의 문은 if문으로 처리해요 ... 149
블록으로 처리하지 않으면 어떻게 될까요 ... 152
Lesson 3. if ~ else문은 참과 거짓을 알아요 ... 154
if ~ else문의 구조를 알아봐요 ... 154
Lesson 4. if ~ else if ~ else문은 조건이 많을 때 안성맞춤이죠 ... 158
if ~ else if ~ else문의 구조를 알아봐요 ... 158
Lesson 5. switch문은 조건이 아무리 많아도 문제없어요 ... 162
switch문의 구조를 알아봐요 ... 162
break문이 빠지면 어떻게 될까요 ... 165
Lesson 6. 논리 연산자는 복잡한 조건을 처리해요 ... 167
논리 연산자를 사용해서 조건을 기술해요 ... 167
복잡한 조건 판단을 처리해요 ... 170
간단한 조건 판단은 조건 연산자로 하지요 ... 172
알아야 해 ... 175
연습해야 해 ... 176
Chapter 6. 몇 번이고 반복해서 처리해요
Lesson 1. for문은 false가 나올 때까지 반복하지요 ... 180
for문의 구조를 알아봐요 ... 180
카운터 변수를 루프 안에서 사용해요 ... 183
for문을 응용해요 ... 184
Lesson 2. while문은 true를 만나면 끝없이 돌지요 ... 187
while문의 구조를 알아봐요 ... 187
while문에서 사용하는 조건을 알아봐요 ... 190
Lesson 3. do ~ while문은 거짓이라도 한 번은 처리해요 ... 193
do ~ while문의 구조를 알아봐요 ... 193
Lesson 4. 문을 여러 개 중첩할 수 있어요 ... 196
for문을 중첩해요 ... 196
if문 등과 조합해요 ... 198
Lesson 5. 처리의 흐름을 변경해요 ... 200
break문의 구조를 알아봐요 ... 200
break문과 switch문은 어떤 관계일까요 ... 202
continue문의 구조를 알아봐요 ... 204
알아야 해 ... 207
연습해야 해 ... 208
C++ 톡 걸기/프로그램을 만드는 과정이 궁금하다고요 ... 209
Chapter 7. 함수
Lesson 1. 함수로 자동으로 처리해요 ... 212
함수의 구조를 알아봐요 ... 212
Lesson 2. 함수를 호출해요 ... 214
함수를 정의해요 ... 214
함수는 이렇게 호출해요 ... 215
Lesson 3. 인수의 이모저모 ... 220
인수를 사용해서 정보를 건네지요 ... 220
인수를 갖지 않는 함수를 정의해요 ... 221
인수를 건네서 함수를 호출해요 ... 222
복수의 인수를 갖는 함수를 정의해요 ... 226
Lesson 4. 반환값은 1개만 있어요 ... 229
반환값의 구조를 알아봐요 ... 229
반환값이 없는 함수는 무슨 일을 할까요 ... 232
Lesson 5. 함수의 선언을 배워요 ... 234
함수를 선언해요 ... 234
디폴트 인수를 사용해요 ... 237
Lesson 6. 함수의 오버로딩을 배워요 ... 241
오버로딩의 구조를 알아봐요 ... 241
오버로딩할 수 없는 경우가 있어요 ... 244
Lesson 7. 템플릿 함수를 배워요 ... 247
템플릿 함수의 구조를 알아봐요 ... 247
템플릿 함수를 정의해요 ... 247
템플릿 함수를 이용해요 ... 249
Lesson 8. 인라인 함수를 배워요 ... 252
인라인 함수를 이용해요 ... 252
알아야 해 ... 255
연습해야 해 ... 256
C++ 톡 걸기/보안유지를 위한 목적 파일 ... 257
Chapter 8. 포인터는 메모리 위치를 알려줘요
Lesson 1. 어드레스는 변수 위치를 알려줘요 ... 260
메모리와 어드레스의 관계를 알아봐요 ... 260
변수의 어드레스를 살펴봐요 ... 261
Lesson 2. 포인터는 어드레스를 저장하는 변수지요 ... 263
포인터의 구조를 알아봐요 ... 263
포인터가 가리키는 변수의 값을 알아봐요 ... 266
포인터를 정리해 봐요 ... 268
포인터에 별도의 어드레스를 대입해요 ... 270
포인터에 값을 저장하지 않으면 어떻게 되나요 ... 271
포인터를 사용하여 변수에 새로운 값을 대입해요 ... 273
Lesson 3. 인수와 포인터를 배워요 ... 275
인수에 포인터를 사용해요 ... 275
값 건네기와 참조 건네기를 배워요 ... 277
Lesson 4. 인수와 참조가 만나면 ... 282
참조의 구조를 알아봐요 ... 282
인수에 참조를 사용해요 ... 285
const를 지정해요 ... 287
알아야 해 ... 289
연습해야 해 ... 290
C++ 톡 걸기/목적 파일로 시간을 아끼자 ... 291
Chapter 9. 배열은 같은 형의 값을 한 번에 정리해요
Lesson 1. 배열은 값을 모아 정리해요 ... 294
배열의 구조를 알아봐요 ... 294
Lesson 2. 배열의 선언을 배워요 ... 296
배열을 선언해요 ... 296
Lesson 3. 배열을 이용하는 방법을 배워요 ... 298
배열에 값을 대입해요 ... 298
반복문을 배열에 사용해요 ... 299
배열의 첨자를 알아봐요 ... 300
키보드로 입력된 값을 배열에 저장해요 ... 302
배열의 내용을 소트해요 ... 303
Lesson 4. 배열을 다차원으로 정의해요 ... 306
다차원 배열의 구조를 알아봐요 ... 306
배열의 초기화를 알아봐요 ... 308
Lesson 5. 배열과 포인터의 관계를 알아봐요 ... 311
배열명의 구조를 알아봐요 ... 311
포인터의 연산을 알아봐요 ... 313
배열명도 일종의 포인터래요 ... 316
Lesson 6. 인수와 배열의 관계를 알아봐요 ... 317
배열을 인수로 사용해요 ... 317
포인터를 인수로 사용해요 ... 318
포인터에 []연산자를 사용해요 ... 321
Lesson 7. 문자열과 배열의 관계를 알아봐요 ... 323
문자열을 배열에 대입해요 ... 323
문자열 배열을 초기화할 때 주의하세요 ... 324
문자열을 출력해요 ... 325
문자열을 포인터로 다뤄요 ... 326
문자열을 다루는 프로그램을 작성해요 ... 327
포인터를 사용해서 고쳐 써요 ... 329
문자열을 다루는 표준 라이브러리 ... 329
문자열을 배열에 복사해요 ... 331
문자열 배열의 크기에 주의하세요 ... 333
일아야 해 ... 335
연습해야 해 ... 336
C++ 톡 걸기/내가 C++를 처음 만났을 때 ... 337
Chapter 10. 대형 프로그램의 작성
Lesson 1. 스코프는 변수를 이용할 수 있는 범위지요 ... 340
변수를 선언해요 ... 340
스코프의 구조를 알아봐요 ... 342
지역 변수의 이름에 대해 이해해요 ... 343
전역 변수와 지역 변수 이름이 중복되면 ... 344
Lesson 2. 기억 수명이란 ... 346
변수가 값을 기억하고 있는 기간이죠 ... 346
일반 지역 변수의 기억 수명을 알아봐요 ... 347
전역 변수의 기억 수명에 대해 알아봐요 ... 349
정적 지역 변수의 기억 수명을 알아봐요 ... 350
지역 변수로의 포인터와 반환값을 배워요 ... 351
Lesson 3. 동적 메모리는 new 연산자와 delete 연산자로 다뤄요 ... 354
동적 메모리를 할당해요 ... 354
동적 메모리를 해제해요 ... 355
Lesson 4. 배열을 동적으로 할당해요 ... 359
배열을 동적으로 할당해요 ... 359
Lesson 5. 파일을 분할하면 재활용하기 쉬워요 ... 362
파일을 분할해요 ... 362
분할하여 컴파일해요 ... 363
전역 변수의 선언을 기술해요 ... 366
알아야 해 ... 369
연습해야 해 ... 370
C++ 톡 걸기/C언어에 없는 객체 지향, C++의 매력은 이것이야 ... 371
Chapter 11. C++에 있는 여러가지 형을 알아봐요
Lesson 1. typedef로 고유한 형명을 붙일 수 있어요 ... 374
typedef의 구조를 알아봐요 ... 374
Lesson 2. 열거형은 값이 식별자처럼 보여요 ... 376
열거형의 구조를 알아봐요 ... 376
열거형의 변수를 선언해요 ... 377
Lesson 3. 구조체형도 사용자 정의형이래요 ... 379
구조체형의 구조를 알아봐요 ... 379
구조체 변수를 선언해요 ... 380
구조체의 멤버로 액세스해요 ... 381
구조체 변수로 대입해요 ... 383
다른 구조체 변수로 대입해요 ... 386
Lesson 4. 인수와 구조체의 관계를 알아봐요 ... 388
인수로 구조체를 사용해요 ... 388
구조체형으로의 포인터를 인수로 사용해요 ... 390
구조체형으로의 참조를 인수로 사용해요 ... 392
Lesson 5. 공용체형의 멤버는 같은 메모리를 공유해요 ... 394
공용체형의 구조를 알아봐요 ... 394
알아야 해 ... 397
연습해야 해 ... 398
Chapter 12. 클래스의 기본을 배워요
Lesson 1. 클래스는 현실의 객체를 추상화하지요 ... 402
클래스의 구조를 알아봐요 ... 402
클래스를 선언해요 ... 403
클래스를 선언하는 코드를 이해해요 ... 404
오브젝트를 작성해요 ... 406
멤버로 액세스해요 ... 407
클래스 선언과 오브젝트 작성을 이해해요 ... 410
Lesson 2. 멤버는 보호할 수도 공개할 수도 있어요 ... 412
오브젝트를 이용해요 ... 412
private 데이터 멤버는 클래스 밖에서 접근할 수 없어요 ... 413
public 멤버 함수는 클래스 밖에서 접근할 수 있어요 ... 416
멤버 함수를 인라인 함수로 만들어요 ... 418
Lesson 3. 동적 오브젝트도 new와 delete로 다뤄요 ... 420
동적으로 오브젝트를 작성해요 ... 420
Lesson 4. 인수와 오브젝트 ... 423
인수로 오브젝트를 사용해요 ... 423
인수로 오브젝트로의 포인터를 사용해요 ... 425
알아야 해 ... 428
연습해야 해 ... 429
Chapter 13. 클래스의 기능을 자세히 알아봐요
Lesson 1. 생성자는 클래스를 초기화하는 함수지요 ... 432
생성자의 구조를 알아봐요 ... 432
Lesson 2. 생성자의 오버로딩 ... 436
생성자를 오버로딩해요 ... 436
생성자를 정의하지 않으면 어떻게 되나요 ... 440
Lesson 3. 생성자를 응용해 볼까요 ... 441
생성자의 배열을 작성해요 ... 441
오브젝트를 동적으로 작성해요 ... 441
기본 인수를 이용해요 ... 447
Lesson 4. 연산자를 오버로딩해요 ... 449
연산자의 오버로딩 구조를 알아봐요 ... 449
멤버 함수로 오버로딩해요 ... 451
프렌드 함수로 오버로딩해요 ... 454
멤버 함수와 프렌드 함수 ... 457
연산자를 오버로딩할 때 주의하세요 ... 459
단항 연산자를 오버로딩해요 ... 459
여러 가지 연산자를 오버로딩해요 ... 462
알아야 해 ... 465
연습해야 해 ... 466
C++ 톡 걸기/C++가 사랑스러운 이유는 모듈화 프로그래밍이 예술이니까 ... 467
Chapter 14. 클래스도 재활용해요
Lesson 1. 계승으로 멤버를 이어받아요 ... 470
계승의 구조를 알아봐요 ... 470
클래스를 파생해요 ... 471
생성자에서 주의할 것이 있어요 ... 474
파행 클래스의 오브젝트를 작성해요 ... 474
Lesson 2. private으로 멤버를 보호해요 ... 477
파생 클래스 안에서 기본 클래스의 멤버로 액세스해요 ... 477
파생 클래스가 가진 기본 클래스의 멤버로 액세스해요 ... 479
Lesson 3. 가상 함수가 무엇인지 알아봐요 ... 482
멤버 함수를 오버라이딩해요 ... 482
기본 클래스의 포인터와 파생 클래스 ... 486
가상 함수를 정의해요 ... 488
Lesson 4. 순수 가상 함수는 함수의 정의가 없어요 ... 492
순수 가상 함수의 구조를 알아봐요 ... 492
순수 가상 함수를 이용해요 ... 493
Lesson 5. 다중 계승의 의미를 알아봐요 ... 497
직접 기본 클래스의 구조를 알아봐요 ... 497
다중 계승의 구조를 알아봐요 ... 497
기본 클래스가 같은 멤버명을 갖는 경우 ... 500
가상 기본 클래스의 구조를 알아봐요 ... 503
알아야 해 ... 507
연습해야 해 ... 508
C++ 톡 걸기/최근에 추가된 템플릿이란 것이 어렵다고 하는데 ... 511
Chapter 15. 클래스를 살찌우는 고급 토픽
Lesson 1. 클래스의 형을 변환해요 ... 514
변환 함수로 클래스의 형을 변환해요 ... 514
인수 하나로 호출할 수 있는 생성자 ... 515
Lesson 2. 정적 멤버를 사용해봐요 ... 518
정적 멤버의 구조를 알아봐요 ... 518
정적 멤버를 이용해요 ... 521
Lesson 3. 메모리를 확보하고 해제해요 ... 523
소멸자를 정의해요 ... 523
오브젝트의 초기화나 대입을 해봐요 ... 527
복사 생성자를 정의해요 ... 529
대입 연산자를 오버로딩해요 ... 530
오브젝트를 복사하는 경우를 알아봐요 ... 534
Lesson 4. 템플릿 클래스 ... 535
템플릿 클래스의 구조를 알아봐요 ... 535
Lesson 5. 예외 처리로 에러를 피해가요 ... 539
예외 처리의 구조를 알아봐요 ... 539
알아야 해 ... 543
연습해야 해 ... 544
Chapter 16. 파일의 입출력의 이모저모
Lesson 1. 스트림은 장치와 코드를 연결하는 추상 개념이죠 ... 548
스트림의 구조를 알아봐요 ... 548
입출력 스트림을 이용해요 ... 549
삽입 연산자의 오버로딩을 배워요 ... 550
1문자의 입출력을 알아봐요 ... 551
출력 폭을 지정해요 ... 553
fill 문자를 지정해요 ... 554
정밀도를 지정해요 ... 555
서식 상태 플러그를 설정한다
Lesson 2. 머니퓰레이터로 입출력 서식을 설정해요 ... 560
줄바꾸기의 출력 방법을 알아봐요 ... 560
10진수 이외의 것으로 출력해요 ... 560
출력 폭을 지정해요 ... 562
Lesson 3. 파일 입출력의 기본을 알아봐요 ... 564
파일의 구조를 알아봐요 ... 564
파일을 조작해요 ... 565
파일로의 출력을 이해해요 ... 567
서식을 설정하여 파일로 출력해요 ... 568
파일로부터 입력의 기본은 무엇일까요 ... 570
파일로부터 입력해요 ... 572
Lesson 4. 커맨드라인으로부터 입력해요 ... 575
커맨드라인 인수를 사용해요 ... 575
알아야 해 ... 578
연습해야 해 ... 579
C++ 톡 걸기/C++는 OOP의 특징을 제공하지요 ... 580
얼마나 풀었나 ... 581
Index ... 613
더보기 닫기