장바구니 담기 close

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

C++ 프로그래밍 완전정복

C++ 프로그래밍 완전정복

  • JESSE LIBERTY
  • |
  • 정보문화사
  • |
  • 2008-08-30 출간
  • |
  • 759페이지
  • |
  • 190 X 235 mm
  • |
  • ISBN 9788956744490
판매가

18,000원

즉시할인가

16,200

카드할인

0원(즉시할인 0%)

적립금

900원 적립(5%적립)

배송비

무료배송

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

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
16,200

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

출판사서평

이 책은 C++ 프로그래밍의 기본을 이해하기 쉽고 명확하게 설명하고 있다. 그리고 단기간에 C++의 기초를 익힐 수 있고, 자신만의 프로그램을 작성하고 디버깅할 수 있도록 구성되어 있다. 많은 양의 예제 코드와 코드를 따라 입력하는 것만으로도 하나의 프로그램이 완성되는 완전한 리스트는 물론이고, 충분한 연습 문제를 제공함으로써 C++를 이해하는 데 많은 도움이 될 것이다. 예제 프로그램은 대부분의 독자들이 사용하는 있는 Windows XP/Vista 환경에서 무료 공개 컴파일러인 Visual C++ 2008 Express Edition으로 컴파일하여 테스트되었다.

이 책에 포함된 내용 :
>> C++ 프로그래밍의 구성 요소>> 변수와 상수
>> 수식과 문장 >> 함수와 클래스
>> 프로그램 흐름>> 배열과 참조자
>> 상속과 다형성>> 특수 클래스와 고급 함수
>> 입출력과 스트림>> 템플릿과 전처리계
>> 예외 사항과 오류 처리>> 객체 지향 분석과 설계
이 책은 단기간에 C 프로그래밍을 익힐 수 있도록 학습 방식을 채택하였다. 단계별 학습을 통해 일정 분량을 학습하거나 관심 있는 내용을 찾아 학습하면 된다.
프로그래밍에 필요한 컴파일러 설치 및 환경 설정에 대한 자세한 내용은 [학습을 위한 준비]를 참고하세요.

목차

Part 1 C++ 프로그래밍 입문
Part 1의 학습 목표

Chapter 01 C++ 프로그래밍의 시작
간단한 C++의 역사
프로그램이란 무엇인가?
문제 해결 방식
순차적 프로그래밍, 구조적 프로그래밍, 객체 지향 프로그래밍
C++와 객체 지향 프로그래밍
C++는 어떻게 진화되어 왔는가?
ANSI 표준
프로그램 준비
개발자의 개발 환경
원시 코드 컴파일하기
링커로 실행 가능한 파일 만들기
개발 주기
첫 번째 C++ 프로그램 작성, HELLO.cpp
HELLO.cpp 예제의 입력과 컴파일
컴파일 오류들
Q/A
실습해보기
퀴즈
연습 문제

Chapter 02 C++ 프로그래밍의 구성 요소
간단한 프로그램의 각 구성 요소
간단히 살펴보는 cout
주석문
주석문의 형태
주석문 쓰기
각 파일의 처음에 필요한 주석들
주석에 대한 주의 사항
함수
함수 사용법
Q/A
실습해보기
퀴즈
연습 문제

Chapter 03 변수와 상수
변수란 무엇인가?
메모리 할당하기
정수(Integer)의 크기
Signed와 Unsigned
기본적인 변수형
변수 정의하기

예약어
한꺼번에 같은 형 변수를 하나 이상 만들 때
변수에 값을 대입하는 법
typedef
언제 short을 쓰고, 언제 long을 쓰는가?
unsigned 정수형에서의 올림 초기화
signed 정수에서의 올림 초기화
문자(Character)
문자와 숫자
특수 출력 문자
상수
문자 상수
기호 상수
상수 나열형
Q/A
실습해보기
퀴즈
연습 문제

Chapter 04 수식과 문장
문장
공백 문자
블록문과 복합문
수식문
연산자
대입 연산자
산술 연산자
정수 나눗셈과 나머지 연산
대입 연산자와 수학 연산자의 혼용
증가 연산자와 감소 연산자
전치 연산자와 후치 연산자
연산자 우선순위
중첩 괄호
참 값의 속성
관계 연산자
if 문장
들여쓰기
else
복합 if 문
중첩 if 문에서의 중괄호 사용
논리 연산자
논리곱
논리합
논리적 부정
관계 연산자의 우선순위
참과 거짓에 대한 몇 가지 사항들
조건(삼항) 연산자
Q/A
실습해보기
퀴즈
연습 문제

Chapter 05 함수
함수란 무엇인가?
함수 선언과 정의
함수 선언
함수 원형
함수 정의
함수 실행
지역 변수
전역 변수
전역 변수 - 주의해야 할 단어
지역 변수에 대한 추가 사항
함수문
함수 인자
함수의 매개변수로 함수를 사용하는 함수
매개변수는 지역 변수
반환값
기본 매개변수
함수 오버로딩
함수에 관한 특별한 주제들
인라인 함수
재귀 호출
함수는 어떻게 동작되는가?
추상화 단계
RAM 나누기
스택과 함수
Q/A
실습해보기
퀴즈
연습 문제

Chapter 06 기본적인 클래스
새로운 자료형 만들기
왜 새로운 자료형을 만드는가?
클래스와 멤버
클래스 선언
이름짓는 법
객체 정의
클래스와 객체
클래스 멤버에 접근
클래스가 아니라 객체에 대입하기
선언을 하지 않으면 클래스는 이를 가질 수 없다
private과 public
멤버 자료를 전용으로 만들기
전용성과 보안성에 대하여
클래스 메서드 구현
생성자와 소멸자
기본 생성자와 기본 소멸자
const 멤버 함수
인터페이스와 구현
클래스 선언과 메서드 정의를 어디에서 할 것인가?
inline 구현
다른 클래스를 멤버 자료로 갖는 클래스
구조체
왜 두 개의 예약어는 같은 일을 할까?
Q/A
실습해보기
퀴즈
연습 문제

Chapter 07 프로그램의 흐름
순환문
순환문의 조상: goto
왜 goto 문을 권장하지 않는가?
while 순환문
다소 복잡해진 while 문
continue와 break
while(1) 순환문
do...while 순환문
do...while
for 순환문
for 순환문의 고급 사용
빈 for 순환문
중첩된 순환문
for 순환문에서의 범위 규칙
순환문 요약
switch 문
메뉴 구성 프로그램에서 switch 문 사용하기
Q/A
실습해보기
퀴즈
연습 문제

Part 1을 마치면서

Part 2 효율적인 C++ 프로그래밍

Part 2의 학습 목표

Chapter 08 포인터
포인터란 무엇인가?
포인터에 주소를 저장
포인터 이름
간접 지정 연산자
포인터, 주소, 변수
포인터를 사용한 자료 연산
주소 관찰
도대체 왜 포인터를 쓰는가?
스택과 자유 기억 공간(Free Store, 힙)
new
delete
메모리 누수
자유 기억 장소에 객체 만들기
객체 delete
자료 멤버에 접근
자유 기억 공간의 멤버 자료에 대해
this 포인터
허상 포인터
const 포인터
const 포인터와 const 멤버 함수
const this 포인터
Q/A
실습해보기
퀴즈
연습 문제

Chapter 09 참조자
참조자란 무엇인가?
참조자에 주소 연산자 &사용하기
무엇이 참조될 수 있는가?
널 포인터와 널 참조자
함수 인수를 참조자로 전달하기
포인터를 이용한 swap()의 구현
참조자를 이용한 swap()의 구현
함수 헤더와 함수 원형에 대한 이해
여러 개의 값을 반환하는 법
참조자를 사용한 값 반환
효율성을 위해 참조자를 전달하자
상수 포인터 전달하기
그 대안으로써 참조자를 사용하자
참조자와 포인터를 사용하는 때
참조자와 포인터를 섞어서 사용할 때
범위 벗어난 객체에 대한 참조자를 반환하면 안 된다
힙에 있는 객체에 대한 참조자 반환하기
포인터, 도대체 누가 포인터를 가지고 있는가?
Q/A
실습해보기
퀴즈
연습 문제

Chapter 10 고급 함수들
멤버 함수 오버로딩
기본값 쓰기
기본값과 오버로딩 함수 중 어떤 것을 선택할 것인가?
기본 생성자
생성자 오버로딩
객체 초기화
복사 생성자
연산자 오버로딩
증가 함수 만들기
전치 연산자 오버로딩하기
오버로딩 연산자 함수에서의 반환값 형
이름 없는 임시 객체 반환
this 포인터 사용하기
후치 연산자 오버로딩하기
전치 연산자와 후치 연산자의 차이
덧셈 연산자
operator+ 오버로딩
연산자 오버로딩에서 몇 가지 중요 사항들
연산자 오버로딩의 한계
무엇을 오버로딩시킬 것인가?
대입 연산자
변환 연산자
형 변환 연산자
Q/A
실습해보기
퀴즈
연습 문제

Chapter 11 배열
배열이란 무엇인가?
배열 요소
배열의 끝을 지나 값을 저장할 경우
울타리 말뚝 오류
배열의 초기화
변수 선언
객체의 배열
다차원 배열
다차원 배열의 초기화
메모리에 관하여
포인터 배열
자유 기억 공간에 배열 선언하기
배열을 가리키는 포인터와 포인터가 저장된 배열
포인터와 배열명
자유 기억 공간의 배열 지우기
char 배열(문자 배열)
strcpy()와 strncpy()
문자열 클래스
연결 리스트와 다른 구조체들
클래스 배열
Q/A
실습해보기
퀴즈
연습 문제

Chapter 12 상속
상속이란 무엇인가?
상속과 파생
동물의 왕국
파생 구문
private과 protected
생성자와 소멸자
기본 생성자에게 인수 전달하기
함수 오버라이딩
오버로딩과 오버라이딩
기본 클래스 메서드의 은폐
기본 메서드 호출
가상 메서드
가상 함수는 어떻게 동작하는가?
없는 것을 얻을 수는 없다
분할하기
가상 소멸자
가상 복사 생성자
가상 메서드를 사용하는 대가
Q/A
실습해보기
퀴즈
연습 문제

Chapter 13 다형성
단일 상속의 문제점
상승
하향 형 변환
두 개의 목록에 넣기
다중 상속
다중 상속 객체의 각 부분들
다중 상속된 객체에서의 생성자
모호성 해결
공유된 기본 클래스로부터 상속
가상 상속
다중 상속의 문제점들
혼합 그리고 만능 클래스
추상 자료형
순수 가상 함수
순수 가상 함수의 구현
추상의 복합 계층
어떤 형이 추상인가?
Q/A
실습해보기
퀴즈
연습 문제

Chapter 14 특수 클래스와 함수들
정적 멤버 자료
정적 멤버 함수
함수를 가리키는 포인터
함수 포인터를 사용하는 이유
함수 포인터 배열
함수 포인터를 다른 함수에 전달하는 방법
함수 포인터를 typedef로 선언하기
멤버 함수에 대한 포인터
멤버 함수 포인터에 대한 배열
Q/A
실습해보기
퀴즈
연습 문제

Part 2 마치면서

Part 3 유용하고 실무적인 고급 프로그래밍

Part 3의 학습 목표

Chapter 15 고급 상속 기능
포함
포함된 클래스의 멤버에 접근
포함된 멤버에 대한 접근 걸러내기
포함의 대가
값에 의한 복사
상속/포함, 대리 관점 구현
대리(Delegation)
전용 상속
프렌드 클래스
프렌드 함수
프렌드 함수와 연산자 오버로딩
삽입 연산자 오버로딩
Q/A
실습해보기
퀴즈
연습 문제

Chapter 16 스트림
스트림에 대한 개괄
캡슐화
버퍼링
스트림과 버퍼
표준 입
재지정
cin을 사용한 입력
문자열
문자열의 문제
istream 객체 참조자를 반환하는 연산자: >>
cin의 또 다른 멤버 함수
단일 문자 입력
표준 입력으로부터 문자열을 받는 방법
cin.ignore() 사용하기
peek()와 putback()
cout으로 출력
출력할 산출물을 방출함
관련된 함수들
조종자, 플래그, 규격 명령어
cout.width()를 사용하는 법
채울 문자의 설정
설정 플래그
스트림과 printf() 함수
파일의 입력과 출력
ofstream
조건을 나타내는 상태
입출력을 위한 파일 열기
파일 열기에서 ofstream 객체의 기본 작동을 변화시키는 법
이진 파일과 텍스트 파일
명령 줄 처리
Q/A
실습해보기
퀴즈
연습 문제

Chapter 17 전처리계
전처리계와 컴파일러
중간 형태의 보기
#define 지시자 사용하기
#define 지시자를 사용한 상수 정의
검사용으로 #define 지시자 사용
#else 전처리계 지시자
포함 및 포함 감시자
라인 명령어 환경에서 정의하는 방법
#undef 사용하기
조건부 컴파일
매크로 함수
왜 괄호들이 필요한가?
매크로와 함수 및 템플릿
확장 함수
문자열 연산
문자열 만들기
문자열 연결
내장 매크로
assert()
assert() 가지고 디버깅하기
assert()와 예외 사항
부작용
클래스의 불변성
중간값 출력
디버그 수준
Q/A
실습해보기
퀴즈
연습 문제

Chapter 18 객체 지향 분석과 설계
개발 주기
경보 시스템 시뮬레이션
예비 설계
무엇이 객체인가?
다른 객체들
클래스란 무엇인가?
경보는 어떻게 보고되는가?
이벤트 순환문
전자우편 시스템(PostMaster)
생각은 여러 번, 결정은 한번에
분할한 후에 정복하라
메시지 규격화
초기 클래스 설계
순종과 잡종 계층
인터페이스 설계
프로토타입 만들기
80/80의 법칙
PostMasterMessage 클래스 설계
응용 프로그램 인터페이스
다수의 개발그룹이 참여하는 프로그래밍
설계에서 기타 고려 사항들
설계 시 판단
판단, 판단
구동 프로그램
Q/A
실습해보기
퀴즈
연습 문제

Chapter 19 템플릿
템플릿이란 무엇인가?
매개변수화된 형
템플릿 정의
이름을 사용하여
템플릿의 구현
템플릿 함수
템플릿과 프렌드
비 템플릿 프렌드 클래스와 함수
일반 템플릿 프렌드 클래스와 함수
형이 서술된 템플릿 프렌드 클래스와 함수
템플릿 항목 사용하기
특수 함수들
정적 멤버와 템플릿
Q/A
실습해보기
퀴즈
연습 문제

Chapter 20 예외 사항과 오류 처리
버그, 오류, 실수, 녹슨 코드(Code Rot)
예외
녹슨 코드(Code Rot)라는 말에 대해
예외
예외는 어떻게 사용되는가?
try 블록과 catch 블록의 사용
예외 사항 잡기
하나 이상의 catch 문
예외 사항 계층 구조
예외의 자료와 예외 객체 명명법
예외 처리와 템플릿
오류가 없는 예외 사항
버그와 디버깅
분기점
경계점
메모리 살펴보기
어셈블러
Q/A
실습해보기
퀴즈
연습 문제

Chapter 21 다음은 무엇을 할 것인가?
표준 라이브러리
문자열 라이브러리 함수
strcpy()와 strncpy()
strcat()과 strncat()
다른 문자열 함수들
시간과 날짜 관련 함수
stdlib
qsort()
다른 라이브러리 함수
비트 연산
비트 연산자 AND
비트 연산자 OR
배타적 비트 OR 연산자
보수 연산자
비트 설정
비트 초기화
비트 바꾸기
비트 필드
스타일
들여쓰기
중괄호 정렬
긴 줄의 처리
switch 문 정렬
프로그램 코드 텍스트
상술자 명명법
이름에 철자 붙이기와 대문자 붙이기
주석
접근
클래스 정의
include 파일
assert()
const
다음 단계
어디에서 도움과 충고를 구할 것인가?
Q/A
실습해보기
퀴즈
연습 문제

Part 3 마치면서

Part 4 부록

Appendix A 연산자 우선순위

Appendix B C++ 예약어

Appendix C 퀴즈, 연습 문제 해답

도서소개

C++ 프로그래밍 입문서. C++ 프로그래밍의 기초를 짧은 시간 안에 학습해갈 수 있도록 단계별로 구성했다. 풍부한 예제, 연습문제, 퀴즈 등을 통해 C++ 프로그래밍의 특징을 설명하여 이해를 도모한다. 아울러 효율적이고 유용하며 실무적인 자신만의 C++ 프로그램을 작성하여 디버깅할 수 있도록 꾸며져 있다.

교환 및 환불안내

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