장바구니 담기 close

장바구니에 상품을 담았습니다.

C++로 시작하는 객체지향 프로그래밍

C++로 시작하는 객체지향 프로그래밍

  • Liang Y. Daniel
  • |
  • ITC
  • |
  • 2016-08-31 출간
  • |
  • 760페이지
  • |
  • 212 X 281 X 32 mm /1860g
  • |
  • ISBN 9788963510552
판매가

32,000원

즉시할인가

28,800

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
28,800

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

※ 제3판에서 달라진 것
『C++로 시작하는 객체지향 프로그래밍, 제3판(Introduction to Programming with C++, 3/e)』은 제2판의 많은 부분이 개선되었다. 주요 개선 사항은 다음과 같다.

■ 명확성, 소개, 구성, 예제, 실습 능력을 향상시키도록 완전 개정
■ 학생들의 프로그래밍에 대한 관심과 흥미를 유발시킬 수 있는 새로운 예제와 실습 문제
■ 각 절의 시작 부분에 있는 “Key Point”에서 중요한 개념 강조
■ 학생들이 학습 과정을 되짚어 보는 데 도움을 주고 중요한 개념이나 예제에 대해 알고 있는 지식을 평가하도록 하는 “Check Point”문제 제공
■ 4장에서 string 객체를 도입함으로써 이 책의 앞부분에서 문자열을 사용한 프로그래밍 가능
■ 4장에서 간단한 입출력을 도입함으로써 앞부분에서 파일을 사용한 프로그램 작성 가능
■ 6장의 내용에 함수를 포함시킴으로써 함수와 관련된 모든 사항을 다루는 것이 가능
■ 일반적인 프로그래밍 오류를 피할 수 있도록 하기 위한 일반적인 오류와 함정에 대한 부분
■ 복잡한 예를 좀 더 쉬운 예로 대체(예를 들어, 8장의 스도쿠 문제를 푸는 것은 해답이 옳은 것인지를 검사하는 문제로 대체되었고, 스도쿠 문제의 해답을 구하는 것은 지원 웹사이트로 이동)

목차

제1장 컴퓨터, 프로그램 및 C++ 입문 1
1.1 들어가기 2
1.2 컴퓨터의 구성 2
1.3 프로그래밍 언어 10
1.4 운영체제 13
1.5 C++의 역사 15
1.6 간단한 C++ 프로그램 16
1.7 C++ 프로그램 개발 주기 21
1.8 프로그래밍 스타일과 문서화 22
1.9 프로그래밍 오류 24

제2장 기본 프로그래밍 33
2.1 들어가기 34
2.2 간단한 프로그램 작성 34
2.3 키보드로부터 입력 값 읽기 37
2.4 식별자 39
2.5 변수 40
2.6 대입문과 수식 42
2.7 이름 상수 44
2.8 숫자 데이터 유형과 연산 45
2.9 수식 계산과 연산자 우선순위 51
2.10 예제: 현재 시각 표시하기 53
2.11 증강 대입 연산자 55
2.12 증감 연산자 56
2.13 수의 형변환 58
2.14 소프트웨어 개발 과정 61
2.15 예제: 화폐 단위 계산 65
2.16 일반적인 오류 67

제3장 선택문 77
3.1 들어가기 78
3.2 bool 데이터 유형 78
3.3 단순 if문 79
3.4 이중 if-else문 82
3.5 중첩 if 문과 다중 if-else문 83
3.6 일반적인 오류와 위험 요소 86
3.7 예제: 체질량지수 계산 91
3.8 예제: 세금 계산 93
3.9 난수 생성 96
3.10 논리 연산자 98
3.11 예제: 윤년 계산 102
3.12 예제: 복권 103
3.13 switch 문 105
3.14 조건식 109
3.15 연산자 우선순위와 결합성 110
3.16 디버깅 112

제4장 수함 함수, 문자, 문자열 127
4.1 들어가기 128
4.2 수학 함수 128
4.3 문자 데이터 유형과 연산 132
4.4 예제: 임의의 문자 생성 137
4.5 예제: 생일 맞추기 139
4.6 문자 함수 143
4.7 예제: 16진수를 10진수로 변환 144
4.8 string 형 146
4.9 예제: 문자열을 사용하여 복권 프로그램 수정 150
4.10 콘솔 출력 형식 152
4.11 간단한 파일 입출력 157

제5장 반복문 169
5.1 들어가기 170
5.2 while 문 170
5.3 do-while 문 183
5.4 for 문 186
5.5 어떤 반복문을 사용하는 것이 좋을까? 190
5.6 중첩 루프 192
5.7 수치 오류의 최소화 194
5.8 실전 예제 195
5.9 break와 continue 키워드 202
5.10 예제: 회문 검사 206
5.11 예제: 소수 출력 207

제6장 함수 225
6.1 들어가기 226
6.2 함수 정의 227
6.3 함수 호출 228
6.4 void 함수 231
6.5 값에 의한 인수 전달 234
6.6 코드 모듈화 235
6.7 함수 오버로딩 238
6.8 함수 원형 241
6.9 기본 인수 243
6.10 인라인 함수 244
6.11 지역 변수, 전역 변수, 정적 지역 변수 245
6.12 참조에 의한 전달 251
6.13 상수 참조 매개변수 260
6.14 예제: 16진수를 10진수로 변환 261
6.15 함수 추상화와 단계적 상세화 263

제7장 1차원 배열과 C-문자열 289
7.1 들어가기 290
7.2 배열의 기초 291
7.3 문제: 복권 번호 298
7.4 문제: 카드 한 팩 301
7.5 함수로 배열 전달 304
7.6 함수에서의 배열 인수 보호 306
7.7 함수로부터 배열 반환 307
7.8 문제: 각 문자의 발생 빈도 계산 309
7.9 배열 탐색 312
7.10 배열 정렬 316
7.11 C-문자열 318

제8장 다차원 배열 337
8.1 들어가기 338
8.2 2차원 배열 선언 338
8.3 2차원 배열 처리 339
8.4 2차원 배열을 함수에 전달 342
8.5 문제: 시험 문제 채점 343
8.6 문제: 가장 가까운 쌍 찾기 345
8.7 문제: 스도쿠 347
8.8 다차원 배열 351

제9장 객체와 클래스 371
9.1 들어가기 372
9.2 객체를 위한 클래스 정의 372
9.3 클래스 정의와 객체 생성의 예 374
9.4 생성자 378
9.5 객체 구성과 사용 379
9.6 클래스 정의와 구현 분리 382
9.7 다중 포함 방지 385
9.8 클래스에서의 인라인 함수 387
9.9 데이터 필드 캡슐화 388
9.10 변수의 범위 392
9.11 클래스 추상화와 캡슐화 393

제10장 객체지향 개념 405
10.1 들어가기 406
10.2 string 클래스 406
10.3 함수에 객체 전달 416
10.4 객체의 배열 419
10.5 인스턴스 멤버와 정적 멤버 421
10.6 상수 멤버 함수 426
10.7 객체에서의 고려사항 429
10.8 객체 합성 435
10.9 예제: StackOfIntegers 클래스 437
10.10 클래스 설계 지침 440

제11장 포인터와 동적 메모리 관리 451
11.1 들어가기 452
11.2 포인터의 기본 사항 452
11.3 typedef 키워드를 사용한 동의어 유형 정의 458
11.4 포인터와 const의 사용 459
11.5 배열과 포인터 460
11.6 함수 호출에서 포인터 인수 전달 464
11.7 함수로부터 포인터 반환 468
11.8 유용한 배열 함수 469
11.9 동적 영구 메모리 할당 471
11.10 동적 객체 생성과 접근 476
11.11 this 포인터 478
11.12 소멸자 479
11.13 예제: Course 클래스 482
11.14 복사 생성자 486
11.15 사용자 정의 복사 생성자 489

제12장 템플릿, 벡터, 스택 501
12.1 들어가기 502
12.2 템플릿의 기본 502
12.3 예제: 제네릭 정렬 507
12.4 클래스 템플릿 510
12.5 Stack 클래스 개선 517
12.6 C++ 벡터 클래스 520
12.7 vector 클래스를 사용한 배열 대체 522
12.8 예제: 수식 계산 526

제13장 파일 입력과 출력 543
13.1 들어가기 544
13.2 텍스트 입출력 544
13.3 출력 형식 지정 551
13.4 getline, get, put 함수 552
13.5 fstream과 파일 열기 모드 556
13.6 스트림 상태 검사 558
13.7 이진 입출력 560
13.8 임의 접근 파일 568
13.9 파일 갱신 572

제14장 연산자 오버로딩 579
14.1 들어가기 580
14.2 Rational 클래스 581
14.3 연산자 함수 587
14.4 첨자 연산자 []의 오버로딩 589
14.5 증강 대입 연산자의 오버로딩 591
14.6 단항 연산자 오버로딩 592
14.7 ++와 -- 연산자 오버로딩 593
14.8 friend 함수와 friend 클래스 594
14.9 《와》 연산자 오버로딩 596
14.10 자동 형변환 599
14.11 오버로딩 연산자를 위한 비멤버 함수 정의 600
14.12 오버로딩된 함수 연산자가 포함된 Rational 클래스 601
14.13 = 연산자 오버로딩 610

제15장 상속과 다형성 619
15.1 들어가기 620
15.2 기본 클래스와 파생 클래스 620
15.3 제네릭 프로그래밍 630
15.4 생성자와 소멸자 630
15.5 함수 재정의 636
15.6 다형성 638
15.7 가상 함수와 동적 결합 639
15.8 보호(protected) 키워드 643
15.9 클래스와 순수 가상 함수 645
15.10 정적 형변환(static_cast)과 동적 형변환(dynamic_cast) 654

제16장 예외 처리 663
16.1 들어가기 664
16.2 예외 처리 개요 664
16.3 예외 처리의 장점 668
16.4 예외 클래스 669
16.5 사용자 예외 클래스 675
16.6 다중 예외 받기 679
16.7 예외 전달 685
16.8 예외 중계 687
16.9 예외 지정 688
16.10 예외를 사용하는 시점 690

제17장 재귀 호출 695
17.1 들어가기 696
17.2 예제: 계승 계산 696
17.3 예제: 피보나치 수 700
17.4 재귀를 사용한 문제 해결 703
17.5 재귀 도움 함수 706
17.6 하노이 탑 710
17.7 8퀸 714
17.8 재귀 대 반복 717
17.9 꼬리 재귀 717

부록 725
부록 A C++ 키워드 726
부록 B ASCII 문자 727
부록 C 연산자 우선순위 차트 729
부록 D 수 체계 731
부록 E 비트 연산자 735
찾아보기 737
이미지 출처 743

도서소개

『C++로 시작하는 객체지향 프로그래밍』은 구문보다는 문제 해결에 중점을 두는 문제 구동 방식을 사용한 프로그래밍에 대해 가르치고 있다. 여러 가지 상황에서 문제를 야기한 개념을 사용함으로써 초보적인 프로그래밍에 대한 흥미를 돋운다. 앞에 있는 장들의 주요 내용은 문제 해결에 대한 것이다. 문제 해결을 위한 프로그램을 작성할 수 있도록 적절한 구문과 라이브러리에 대해 소개한다.

문제 구동 방식으로 프로그래밍을 하는 교육 방식을 위해 이 책은 학생들을 자극하기 위한 여러 가지 단계의 난이도로된 많은 문제를 제공한다. 학생들의 많은 전공에 적용해 보기 위해서 문제는 수학, 과학, 사업, 금융, 게임, 애니메이션 등 많은 응용 분야를 다루고 있다. 또한, 클래스를 설계하기 전에 우선 기본 프로그래밍 개념과 기법을 설명함으로써 기본에 초점을 맞추고 있다. 반복문, 함수, 배열에 대한 기본 개념과 기법은 프로그래밍의 기본이 된다. 이러한 강력한 토대를 구축함으로써 학생들이 객체지향 프로그래밍과 고급 C++ 프로그래밍을 배우기 위한 준비를 할 수 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.