목차
1 C++의 소개 = 1
1.1 C++의 역사 = 2
1.2 소개 = 3
1.2.1 출력 방법 = 3
1.2.2 입력 방법 = 4
1.2.3 설명문(Comment) = 7
1.3 자료형(Type)과 선언(Declaration) = 7
1.3.1 기본 자료형(Fundamental Type) = 8
1.3.2 파생 자료형(Dervied Type) = 9
1.4 수식(Expression)과 문장(Statement) = 10
1.4.1 수식(Expression) = 10
1.4.2 수식문((Expression Statement) = 11
1.4.3 Null문 = 11
1.4.4 블록(Block) = 12
1.4.5 if문 = 12
1.4.6 switch문 = 13
1.4.7 while문 = 13
1.4.8 for문 = 14
1.4.9 선언(Declaration) = 15
1.5 함수 = 15
1.5.1 자료형 일치 = 15
1.5.2 중복함수의 이용 = 16
1.6 프로그램의 구조 = 17
1.6.1 외부 파일의 이용 = 17
1.6.2 여러 파일을 이용한 구조 = 18
1.7 클래스(Class) = 19
1.7.1 사용자 정의 자료형 = 19
1.7.2 클래스의 기억장소 = 21
1.7.3 클래스 예제 = 23
1.8 연산자 중복(Operator Overloading) = 24
1.8.1 연산자와 함수 = 24
1.8.2 사용자 자료형을 위한 연산자 = 25
1.8.3 연산자 중복 예제 = 26
2 선언(Declaration) 및 자료형 = 31
2.1 선언과 정의 = 32
2.1.1 영역(Scope) = 34
2.1.2 객체(Object) = 37
2.1.3 존재기간(Life Time) = 37
2.2 이름(Name) = 38
2.3 자료형(Type) = 39
2.3.1 기본 자료형(Fundametal Type) = 40
2.3.2 자료형 변환(Type Conversion) = 41
2.3.3 파생 자료형(Derived Type) = 42
2.3.4 보이드(Void) = 43
2.4 포인터(Pointer)와 배열(Array) = 44
2.4.1 포인터(Pointer) = 44
2.4.2 배열(Vector, Array) = 45
2.4.3 배열의 포인터 = 48
2.4.4 구조체(Structure) = 50
2.4.5 구조체의 배열 = 52
2.4.6 자료형에 다른 이름 붙이기(Typedef) = 55
2.4.7 레지스터(Register) = 56
3 참조자(Reference)와 상수(Constant) = 59
3.1 참조자(Reference) = 60
3.1.1 참조자란 = 60
3.1.2 참조자와 포인터 = 61
3.1.3 참조자 예제 = 63
3.1.4 참조자 반환 함수 예제 = 67
3.2 상수(Constant) = 70
3.2.1 정수 상수(Integer Constant) = 70
3.2.2 부동소수점 상수(Floating Point Constant) = 71
3.2.3 문자 상수(Character Constant) = 71
3.2.4 문자열 상수(String Constant) = 72
3.2.5 상수의 선언(Const) = 73
3.2.6 나열형(Enumeration) = 74
3.3 기억장소의 절약 = 75
3.3.1 필드(Field) = 76
3.3.2 유니온(Union) = 77
4 수식(Expression)과 연산자 = 81
4.1 수식과 기본 연산자 = 82
4.1.1 수식과 문장 = 82
4.1.2 기본 연산자(=, +, -, /, %) = 83
4.1.3 누적 치환 연산자(+=, -= 등) = 84
4.2 연산자 종류 = 85
4.2.1 괄호 = 87
4.2.2 계산 순서 = 88
4.2.3 증가연산자(Increment)와 감소 연산자(Decrement) = 89
4.3 비트별 논리 연산자(Bitwise Logical Operator) = 90
4.3.1 비트별 NOT, AND, OR 연산 = 90
4.3.2 비트별 이동연산자 = 93
4.3.3 비트별 논리연산자의 이용 = 94
4.3.4 비트별 출력 = 95
4.4 자료형 변환(Type Conversion) = 98
5 자유기억장소(Free Store)와 문장(Statement) = 103
5.1 자유 기억장소(Free Store) = 104
5.1.1 연산자 new = 104
5.1.2 연산자 new 이용 예제 = 105
5.1.3 트리구조 예제 = 106
5.1.4 연산자 delete = 107
5.2 문장(Statement)의 종류 = 109
5.2.1 비교문 = 110
5.2.2 Switch문 = 111
5.2.3 goto문 = 113
5.3 설명문(Comment)과 띄어쓰기(Indentation) = 114
5.4 프로그램 인수와 문자 분류 함수 = 114
5.4.1 프로그램 인수(Command Line Argument) = 114
5.4.2 문자 분류 함수 = 116
6 함수(Function)과 파일(File) = 119
6.1 파일의 링키지(Linkage) = 120
6.1.1 대규모 프로그램의 파일 = 120
6.1.2 정의(Definition)와 선언(Declaration) = 121
6.1.3 정적 객체의 영역(Scope) = 122
6.2 표제 파일(Header File) = 123
6.2.1 표제파일의 구성 = 123
6.2.2 자료 은닉(Data Hiding) = 125
6.3 함수(Function) = 126
6.3.1 함수 선언(Declaration) = 126
6.3.2 확장(Inline) 함수 = 126
6.3.3 인수 전달(Argument Passing) = 127
6.3.4 함수의 반환치와 자기호출(Recursive Call) = 128
6.4 함수의 인수 = 130
6.4.1 배열 인수(Vector Argument) = 130
6.4.2 다차원 배열의 인수 = 131
6.4.3 부재인수(Default Argument) = 134
6.4.4 중복함수(Overloaded Function) = 136
6.4.5 부정인수(Unspecified Argument) = 138
7 함수 포인터와 매크로 = 143
7.1 함수 포인터(Pointer to Function) = 144
7.1.1 함수 포인터의 정의 = 144
7.1.2 함수 포인터의 응용 = 146
7.1.3 함수 포인터 배열 = 148
7.1.4 다형(Polymorphic) 함수 = 149
7.2 매크로(Macro) = 152
7.2.1 매크로의 소개 = 152
7.2.2 매크로 예제 = 154
3) C언어와 연결 = 155
8 클래스(Class) = 159
8.1 소개 = 160
8.2 클래스(Class)와 멤버(Member) = 161
8.2.1 멤버함수(Member Function) = 161
8.2.2 자료 은닉(Data Hiding) = 162
8.2.3 자기 참조(Self-Reference) 포인터 this = 167
8.2.4 this를 이용한 리스트 = 169
8.3 클래스의 초기화와 생성자(Constructor) = 171
8.3.1 초기화 = 171
8.3.2 생성자(Constructor) = 172
8.3.3 중복된 생성자 = 174
8.3.4 소멸자(Destructor)와 클래스 배열 = 176
8.3.5 스택 자료형 예제 = 179
8.4 클래스의 구현시 참고사항 = 182
8.4.1 확장함수(Inline) = 182
8.4.2 인터페이스(Interface) = 183
8.4.3 선형탐색 예제 = 183
9 클래스의 프랜드 생성자 = 189
9.1 프랜드(Friend) = 190
9.1.1 프랜드란 = 190
9.1.2 프랜드 이용 예제 = 192
9.1.3 영역해결 연산자(Scope Resolution Operator) = 195
9.1.4 클래스 중첩(Nesting) = 196
9.1.5 정적 멤버(Static Member) = 198
9.2 유니온(Union) = 200
9.2.1 기억장소 절약 = 200
9.2.2 유니온 예제 = 203
9.3 멤버함수(Member Function) = 206
9.3.1 멤버함수의 포인터(Pointer to Member Function) = 206
9.3.2 멤버의 포인터(Pointer to Member) = 209
9.3.3 정적 멤버함수(Staic Member Function) = 211
9.3.4 상수 멤버함수(Const Member Function) = 213
9.4 생성자(Constructor)와 소멸자(Destructor) = 214
9.4.1 객체의 저장장소 = 214
9.4.2 복사에 의한 객체 생성시 주의사항 = 216
9.4.3 정적 객체 = 217
9.4.4 자유 기억장소의 주의사항 = 218
9.4.5 클래스 객체(Class Object)를 멤버로 정의 = 219
9.4.6 클래스 객체(Class Object)의 배열과 삭제 = 222
10 연산자 중복(Operator Overloading) = 227
10.1 연산자 중복이란 = 228
10.1.1 사용자 정의 자료형을 위한 연산자 = 228
10.1.2 복소수 연산자와 정의 예제 = 231
10.1.3 행렬 곱셈 연산자의 정의 = 233
10.2 연산자 함수(Operator Function) = 236
10.2.1 중복 가능한 연산자들 = 236
10.2.2 단항(Unary)연산자는 이항(Binary)연산자 = 239
10.2.3 연산자의 의미 = 241
10.2.4 다형(Polymorphism) = 243
10.3 연산자 중복의 예 = 244
10.3.1 참조자를 이용한 연산자의 정의 = 244
10.3.2 치환 연산자의 정의 = 246
10.3.3 첨자 연산자의 정의 = 247
11 사용자 정의 자료형의 변환 = 253
11.1 사용자 정의 자료형의 변환 = 254
11.1.1 간단한 예제 = 254
11.1.2 자료형 변환의 필요성 = 255
11.1.3 범용 연산자를 만들 때 문제점 = 257
11.1.4 생성자(Constructor)에 의한 자료형 변환 = 258
11.1.5 자료형 변환 연산자(Conversion Operator) = 261
11.2 프랜드(Friend)와 멤버(Member) = 264
11.3 연산자 new의 재정의 = 265
11.3.1 new와 delete 연산자 = 265
11.3.2 변형 new와 delete = 266
12 상속(Inheritance) = 271
12.1 파생 클래스(Derived Class) = 272
12.1.1 상속(Inheritance)의 필요성 = 272
12.1.2 파생(Deriving)과 상속(Inheritance) = 273
12.1.3 파생 클래스 예제 = 275
12.1.4 베이스/파생 클래스의 접근 = 282
12.2 외부에서 접근방법 = 285
12.2.1 공용/전용 베이스 클래스의 접근 = 285
12.2.2 파생에 필요한 문법 = 286
12.2.3 보호 멤버(Protected Member) = 288
12.2.4 파생 클래스 접속 예제 = 291
12.3 포인터와 생성자 = 293
12.3.1 포인터(Pointer) = 293
12.3.2 클래스 계층(Class Hierarchy) = 294
12.3.3 생성자(Constructor)와 소멸자(Destructor) = 295
12.3.4 파생 클래스 생성자 예제 = 297
13 다중상속과 가상함수 = 303
13.1 가상함수(Virtual Function) = 304
13.1.1 가상함수란 = 304
13.1.2 가상함수 예제 = 307
13.1.3 포인터에 의한 가상함수 호출 = 309
13.1.4 포인터에 의한 가상함수 호출 예제 = 311
13.2 다중상속(Multiple Inheritance) = 314
13.2.1 다중상속(Multiple Inheritance)이란 = 314
13.2.2 다중상속을 위한 생성자 = 316
13.2.3 다중상속 예제 = 317
13.3 가상상속(Virtual Inheritance) = 319
13.3.1 가상 베이스 클래스(Virtual Base Class) = 319
13.3.2 가상 베이스 클래스 예제 = 321
13.4 객체 지향(Object-Oriented) 프로그래밍 = 323
13.4.1 객체 지향 프로그래밍이란 = 323
13.4.2 추상 자료형과 연산 방식(Method) = 324
13.4.3 자료은닉 = 325
13.4.4 클래스 = 325
13.4.5 상속 = 326
13.4.6 다형(Polymorphism) = 327
13.4.7 객체 지향을 통한 문제 해결 = 328
13.4.8 객체 지향 프로그래밍의 동향 = 329
14 입출력 스트림(Stream) = 335
14.1 입출력 스트림이란 = 336
14.2 출력(Output) = 338
14.2.1 내장 자료형의 출력 = 338
14.2.2 cout 이용 예제 = 339
14.2.3 사용자 정의 자료형의 출력 = 343
14.2.4 연산자 ≪ 와 ≫ = 344
14.2.5 형식 출력(Formatted Output) = 345
14.3 입력(Input) = 349
14.3.1 내장 자료형의 입력 = 349
14.3.2 입력 예제 = 351
14.3.3 사용자 정의 자료형의 입력 = 355
14.3.4 문자 분류 함수 = 357
15 파일 입출력과 라이브러리 = 361
15.1 입출력 형식(Formatting) 함수 = 362
15.1.1 입출력 형식 함수란 = 362
15.1.2 입출력 형식 함수 이용 예제 = 364
15.1.3 입출력 조절자(Manipulator) = 366
15.1.4 입출력 조절자 이용 예제 = 367
15.1.5 입출력 함수 예제 = 371
15.2 파일 입출력 = 373
15.2.1 파일 입출력 스트림(Stream) = 373
15.2.2 입출력 위한 파일 열기 = 374
15.2.3 출력파일에 덧붙여 쓰기(Append) = 376
15.2.4 파일 입출력 예제 = 378
15.2.5 다수의 파일 열기 = 381
15.2.6 특정위치로 이동 = 382
15.3 문자열 입출력 = 383
15.3.1 문자열을 통한 형식 지정(Incore Formatting) = 383
15.3.2 문자열 입출력 예제 = 384
15.4 문자열 라이브러리 = 388
15.4.1 strlen(), strcpy(), strncpy() = 388
15.4.2 strcat(), strncat() = 392
15.4.3 기타 표준 라이브러리 = 393
디스켓 설명(본문예제 및 연습문제 해답 프로그램) = 397
연습문제 해답 = 401
부록 = 507
부록 A : ASCⅡ 표 = 508
부록 B : 연산자 우선순위 = 512
찾아보기 = 515