목차 일부
Day 1. C++ 언어의 개요 ... 20
STEP 1. C++ 언어의 개념 ... 20
STEP 2. 프로그램 작성 과정 ... 21
STEP 3. C++ 프로그램의 기본구조 ... 22
main() 함수 ... 22
그룹화 괄호 {} ... 23
주석문(comment) ... 23
includ...
더보기
목차 전체
Day 1. C++ 언어의 개요 ... 20
STEP 1. C++ 언어의 개념 ... 20
STEP 2. 프로그램 작성 과정 ... 21
STEP 3. C++ 프로그램의 기본구조 ... 22
main() 함수 ... 22
그룹화 괄호 {} ... 23
주석문(comment) ... 23
include〈iostream.h〉 ... 24
cout 객체 ... 25
명령문과 세미콜론 ... 25
STEP 4. C++ 컴파일러의 사용법 ... 26
연습문제 ... 32
Day 2. C++ 언어의 자료형 ... 34
STEP 1. 자료형의 개념 ... 34
STEP 2. 상수와 변수의 개념 ... 35
상수(constant)의 종류 ... 36
확장 특수 출력 문자(escape sequence) ... 39
변수(variable) ... 40
STEP 3. 정수형 ... 41
STEP 4. 실수형 ... 44
STEP 5. 문자형 ... 48
연습문제 ... 51
Day 3. C++ 언어의 연산자 ... 52
STEP 1. 연산자의 개념 ... 52
STEP 2. 산술 연산자 ... 52
STEP 3. 관계 연산자 ... 53
STEP 4. 조건 연산자 ... 55
STEP 5. 논리 연산자 ... 57
STEP 6. 증감 연산자 ... 60
선행처리, 후행처리 ... 60
STEP 7. 대입 연산자 ... 62
STEP 8. sizeof 연산자 ... 63
STEP 9. 형변환(캐스트) 연산자 ... 64
STEP 10. 비트 연산자 ... 67
비트 단위 쉬프트 연산자 ... 71
STEP 11. 연산자 우선 순위와 결합 방향 ... 73
연습문제 ... 75
Day 4. C++ 언어의 제어문 ... 76
STEP 1. 제어문의 개요 ... 76
STEP 2. if 문 ... 77
if else 문 ... 80
다중 if else 문 ... 81
STEP 3. switch case 문 ... 82
STEP 4. for 문 ... 85
다중 for ... 88
STEP 5. while 문 ... 92
난수를 발생하는 함수 random() ... 93
cin의 삽입 연산자(〈〈)를 이용한 정수값을 입력받기 ... 97
cin의 삽입 연산자(〈〈)를 이용하여 문자열을 입력받기 ... 98
cin.get을 이용한 입력 ... 99
STEP 6. do while 문 ... 100
while 문을 for 문 처럼 사용한 반복문 ... 101
STEP 7. 보조 제어문 ... 102
continue 문 ... 102
break 문 ... 103
goto 문 ... 104
연습문제 ... 107
Day 5. C++ 언어의 함수 기본편 ... 110
STEP 1. 함수의 개요 ... 110
STEP 2. 함수의 사용 ... 112
인수가 없는 함수 ... 112
인수가 있는 함수 ... 114
return 값이 있는 함수 ... 117
STEP 3. 함수의 프로토타입(원형 정의 또는 선언) ... 120
STEP 4. 함수의 오버로딩(Function Overloading) ... 122
STEP 5. 함수의 디폴트 인수(Default Parameter) ... 124
STEP 6. 선행처리기 ... 127
매크로 상수 ... 128
const상수 ... 130
매크로 함수 ... 131
인라인(inline) 함수 ... 136
include ... 137
연습문제 ... 140
Day 6. C++ 언어의 심화편 ... 142
STEP 1. 인수 전달 방법 - Call By Value ... 142
치환하는 알고리즘 ... 143
치환 함수 만들기 ... 145
STEP 2. 포인터 개념 ... 147
메모리 ... 147
주소 연산자(&) ... 147
포인터 변수 ... 149
포인터를 사용한 간접 지정 ... 151
STEP 3. 인수 전달 방법 - Call By Address ... 153
Call By Address의 또 다른 용도 ... 155
STEP 4. 프로그램 작성 과정 ... 157
STEP 5. 인수 전달 방법 - Call By Reference ... 158
STEP 6. 기억 클래스 ... 162
자동변수(auto) ... 163
외부변수(extern) ... 165
지역변수로서의 정적변수(static) ... 168
전역변수로서의 정적변수(static) ... 170
레지스터 변수(register) ... 176
연습문제 ... 177
Day 7. C++ 언어의 배열 ... 178
STEP 1. 배열의 선언 ... 178
배열의 원소(Array Element) ... 179
배열을 for 문과 함께 사용하기 ... 182
STEP 2. 배열의 사용 예 ... 184
배열을 사용하여 총합과 평균 구하기 ... 184
배열을 사용하여 최대값 구하기 ... 185
배열을 사용하여 정렬하기 ... 187
STEP 3. 1차원 배열과 포인터 ... 193
배열의 이름은 포인터 ... 196
STEP 4. 포인터 연산 ... 198
STEP 5. 함수의 전달인자로 배열 사용하기 ... 201
STEP 6. 포인터 변수 선언 시 자료형의 의미 ... 208
연습문제 ... 211
Day 8. C++ 언어의 2차원 배열 ... 212
STEP 1. 2차원 배열 ... 212
2차원 배열의 선언방식 ... 212
2차원 배열의 초기화 ... 214
2차원 배열과 이중 for 문 ... 214
STEP 2. 2차원 배열의 사용 예 ... 216
두 행렬의 합을 구하기 ... 216
세 행렬을 나란히 같은 줄에 출력하기 ... 218
2차원 배열을 사용하여 총합과 평균 구하기 ... 220
STEP 3. 2차원 배열의 주소값 ... 224
STEP 4. 2차원 포인터 ... 231
STEP 5. 2차원 배열과 2차원 포인터 ... 234
STEP 6. 함수의 전달인자로 2차원 배열을 설정하기 ... 240
함수의 전달인자로 2차원 배열을 사용하기 ... 242
연습문제 ... 247
Day 9. 문자열 다루기 ... 248
STEP 1. 문자열(string) 배열의 선언 ... 248
STEP 2. 문자열(string) 배열의 사용예 ... 253
문자열의 길이 구하는 함수 strlen ... 253
문자열의 길이 구하는 사용자 정의 함수 만들기 ... 256
문자열을 복사하는 함수 strcpy ... 260
문자열을 복사하는 사용자 정의 함수 만들기 ... 265
문자열의 크기를 비교하는 strcmp 함수 ... 268
연습문제 ... 272
Day 10. 문자열 다루기 2 ... 274
STEP 1. 문자열 2차원 배열 ... 274
STEP 2. 문자열 포인터 배열 ... 276
STEP 3. 가장 큰 문자열 구하기 ... 280
STEP 4. 문자열 정렬하기 ... 283
STEP 5. 포인터 배열을 사용하여 문자열 정렬하기 ... 288
STEP 6. 포인터 변수에 키보드에서 입력된 문자열 저장하기 ... 292
메모리 할당 함수(malloc) ... 294
메모리 해제 함수(free) ... 299
연습문제 ... 303
Day 11. 구조체 다루기 ... 304
STEP 1. 구조체 선언과 사용법 ... 304
구조체의 개념 ... 304
구조체를 사용하는 이유 ... 305
구조체 선언 방식 ... 306
구조체 변수 선언 ... 307
구조체 사용하기 ... 308
STEP 2. 구조체 변수의 초기화 ... 310
STEP 3. 구조체를 전달인자로 하는 함수 ... 313
구조체 단위로 값을 대입하기 ... 313
구조체를 전달인자로 사용하기(Call By Value) ... 315
리턴값이 구조체인 함수 ... 317
연습문제 ... 323
Day 12. 구조체 포인터와 배열 ... 324
STEP 1. 구조체 포인터 ... 324
STEP 2. 함수의 전달인자로 구조체 포인터 사용하기(Call By Address) ... 329
STEP 3. 함수의 전달인자로 레퍼런스 변수 사용하기(Call By Reference) ... 333
STEP 4. 구조체 배열 ... 336
STEP 5. 구조체 배열과 포인터 ... 339
STEP 6. 함수의 전달인자로 구조체 배열 사용하기 ... 343
연습문제 ... 346
Day 13. 클래스와 객체 ... 348
STEP 1. 객체지향 프로그래밍 ... 348
STEP 2. OOP(Object Oriented Programming)의 특징 ... 349
OOP의 특징 ... 349
STEP 3. 클래스의 선언(멤버 변수/멤버 함수) ... 351
액세스 지정자 ... 352
클래스의 멤버 함수 구현 ... 353
STEP 4. 객체 선언/멤버 참조 ... 355
클래스와 객체 ... 355
클래스 멤버의 접근 방법 ... 357
클래스 내부에 멤버 함수 정의 ... 359
STEP 5. 클래스의 액세스 지정자 - private/public ... 361
연습문제 ... 366
Day 14. 생성자와 소멸자 ... 368
STEP 1. 초기화의 개념 ... 368
STEP 2. 객체의 초기화 ... 369
멤버변수를 public으로 변경하여 초기화하기 ... 370
STEP 3. 함수로 객체를 초기화하기 ... 371
생성자란? ... 371
STEP 4. 디폴트 생성자(Default Constructor) ... 372
STEP 5. 전달인자를 갖는 생성자 ... 374
STEP 6. 생성자의 오버로딩 ... 376
STEP 7. 생성자의 디폴트 값 ... 378
STEP 8. 생성자의 콜론 초기화 ... 381
STEP 9. 소멸자(Destructor) ... 383
연습문제 ... 386
Day 15. 동적 메모리 할당과 소멸자 ... 388
STEP 1. 스택과 힙 영역 ... 388
STEP 2. 힙 영역에 배열 선언하기 ... 390
힙 영역의 메모리 해제하기 ... 393
STEP 3. 클래스 내에서 메모리 동적 할당 ... 395
STEP 4. 복사 생성자(Copy Constructor) ... 400
연습문제 ... 409
Day 16. 추상적인 데이터(스택) ... 410
STEP 1. 스택 ... 410
STEP 2. 스택의 알고리즘 ... 412
생성자 구현하기 ... 413
push() 함수 구현하기 ... 414
pop() 함수 구현하기 ... 415
STEP 3. 동적 메모리 할당으로 스택 구현하기 ... 417
연습문제 ... 425
Day 17. 객체 포인터와 this ... 426
STEP 1. 객체 포인터 선언 ... 426
STEP 2. 객체내의 멤버변수와 멤버 함수의 구조 ... 429
STEP 3. 내부 포인터 this 란 ... 432
연습문제 ... 437
Day 18. 객체 배열 ... 438
STEP 1. 객체 배열의 선언과 사용하기 ... 438
STEP 2. 객체 배열과 포인터 ... 441
STEP 3. 함수의 전달인자로 객체 배열 사용하기 ... 444
STEP 4. 프랜드(friend) 함수 ... 446
연습문제 ... 450
Day 19. 정적(static )멤버변수와 프랜드(friend) 함수 ... 452
STEP 1. 정적 멤버변수(Static Member Variable)란? ... 452
STEP 2. 일반 멤버변수의 문제점 ... 453
STEP 3. 전역변수의 문제점 ... 456
STEP 4. 정적 멤버변수 ... 458
STEP 5. 정적 멤버변수의 접근을 위한 정적 멤버 함수(Static Member Function) ... 461
연습문제 ... 465
Day 20. 객체가 전달인자인 함수 ... 466
STEP 1. 멤버 함수로 두 객체의 합 구하기 ... 466
STEP 2. 프랜드 함수로 두 객체의 합 구하기 ... 469
STEP 3. 멤버 함수로 1증가하는 함수 구현하기 ... 472
STEP 4. 프랜드 함수로 1증가하는 함수 구현하기 ... 475
연습문제 ... 480
Day 21. 연산자 오버로딩 ... 482
STEP 1. 연산자 오버로딩이란 ... 482
STEP 2. 이항 연산자의 오버로딩 ... 484
멤버 함수로 연산자 이항 오버로딩하기 ... 484
프랜드 함수로 연산자 이항 오버로딩하기 ... 488
STEP 3. 연산자의 오버로딩시 주의할 점 ... 490
STEP 4. 단항 연산자의 오버로딩 ... 492
연습문제 ... 499
Day 22. 기타 연산자 오버로딩 ... 500
STEP 1. ostream 객체 ... 500
STEP 2. 출력을 담당하는 삽입 연산자 '〈〈' ... 503
STEP 3. 프랜드 함수로 삽입 연산자 '〈〈' 정의하기 ... 505
삽입 연산자 '〈〈'을 발전시키기 ... 509
연습문제 ... 516
Day 23. String 클래스 ... 518
STEP 1. 문자열형 이해하기 ... 518
STEP 2. 문자열 클래스 설계하기 ... 519
STEP 3. 문자열 클래스(String Class) ... 520
STEP 4. 문자열 클래스(String Class)를 발전시키기 ... 527
Day 24. 상속 ... 534
STEP 1. 상속이란 ... 534
STEP 2. 기반 클래스와 파생 클래스 만들기 ... 535
기반 클래스 만들기 ... 536
파생 클래스 만들기 ... 537
STEP 3. 기반 클래스에 생성자 정의하기 ... 541
STEP 4. 기반 클래스의 생성자에 전달인자 보내기 ... 543
파생 클래스에서 기반 클래스의 생성자 명시적으로 호출하기 ... 546
생성자, 소멸자 호출의 순서 ... 546
기반 클래스의 생성자에 인수 전달하기 ... 548
연습문제 ... 553
Day 25. 가상 함수 ... 556
STEP 1. 함수의 재생(Overriding Function) ... 556
STEP 2. 기반 클래스 멤버 함수의 은폐(hidding) ... 560
STEP 3. 포인터 변수로 멤버 함수 호출하기 ... 563
STEP 4. 기반 클래스의 포인터에 파생 클래스의 주소 값 대입 ... 566
STEP 5. 정적 바인딩과 동적 바인딩 ... 572
STEP 6. 동적 바인딩과 가상 함수 ... 575
STEP 7. 가상 함수의 동작 원리 ... 578
STEP 8. 완전 가상 함수와 추상 클래스 ... 581
추상 클래스 ... 582
연습문제 ... 584
Day 26. 입출력 스트림 ... 586
STEP 1. C++의 입력과 출력(I/O) ... 586
STEP 2. cout 객체가 제공하는 출력방법 ... 587
STEP 3. cin 객체가 제공하는 입력방법 ... 591
연습문제 ... 599
Day 27. 파일 출력 - 기본편 ... 600
STEP 1. 파일 입출력을 위한 개념 접근 ... 600
STEP 2. 파일 출력의 간단한 예 ... 601
STEP 3. 파일 입력의 간단한 예 ... 604
문자 한 개를 get() 함수로 입력받아 파일에 출력하기 ... 608
입출력 파일의 상태를 알려주는 함수 ... 611
명령형 라인에서 문자열 입력받기 ... 612
도스의 type 명령어 만들기 ... 614
연습문제 ... 617
Day 28. 파일 출력 - 심화편 ... 618
STEP 1. 이진 파일과 텍스트 파일 ... 618
STEP 2. 이진 파일로 저장하기 ... 619
파일 모드 ... 621
다양한 형태로 파일 열기 ... 622
STEP 3. 이진 파일로 읽어오기 ... 625
STEP 4. 순차 파일 ... 627
STEP 5. 랜덤 파일 ... 629
STEP 6. 파일 입출력 연산자 오버로딩 ... 632
연습문제 ... 637
Day 29. 템플릿 ... 638
STEP 1. 템플릿 ... 638
STEP 2. 함수의 오버로딩과 템플릿 ... 638
템플릿 함수 만들기 ... 640
STEP 3. 템플릿 클래스 ... 641
Day 30. MFC를 이용한 윈도 프로그래밍 ... 646
STEP 1. 비주얼 C++ 특징 ... 646
MFC 프로그래밍의 이점 ... 646
MFC 프로그래밍의 일반적인 작성 단계 ... 647
STEP 2. 프로젝트 단위로 프로그램 작성하기 ... 649
클래스명과 파일명 리스트 ... 655
STEP 3. 실행 파일 작성하기 ... 655
STEP 4. 프로젝트 단위로 파일 저장 및 열기 ... 657
STEP 5. WorkSpace(워크스페이스) 창과 Code(코드) 창 ... 658
WorkSpace(워크스페이스) 창 ... 658
Code(코드) 창 ... 660
STEP 6. MFC 애플리케이션의 구성 ... 664
CWinApp(애플리케이션 클래스) ... 665
도큐먼트와 뷰의 구조 ... 666
CDocument 클래스 ... 666
CView::GetDocument() 멤버 함수 ... 666
STEP 7. ClassWizard와 메시지 핸들러(MessageHandler) ... 668
ClassWizard ... 668
WM_SIZE 윈도 메시지 ... 668
STEP 8. MFC 프로그램 발전하기 ... 668
CView 클래스 ... 668
OnDraw() 함수 ... 669
CDC 클래스 ... 669
pDC→TextOut(0,0,'This is Visual C++ Program') 함수 ... 669
부록 1. 〈연습 문제 풀이〉정답 ... 676
부록 2. Turbo C++ 3.0 설치방법 ... 737
부록 3. ASCII 코드표 ... 741
찾아보기 ... 745
더보기 닫기