logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

정품 소프트웨어가 들어있는 C++

정품 소프트웨어가 들어있는 C++

(개정판)

제시 리버티 (지은이), 양재찬 (옮긴이)
정보문화사
20,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

정품 소프트웨어가 들어있는 C++
eBook 미리보기

책 정보

· 제목 : 정품 소프트웨어가 들어있는 C++ (개정판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788956741604
· 쪽수 : 929쪽
· 출판일 : 2004-01-30

책 소개

21일이라는 단기간에 맞추어 C++의 기초를 익히고, 자신만의 프로그램을 작성하고 디버깅할 수 있도록 구성했다. 군더더기 없는 명쾌한 설명과 많은 양의 예제 코드를 통해 하나의 완전한 프로그램을 완성하고 디버깅하는 단계까지 학습할 수 있다. 자신의 실력을 점검해볼 수 있는 연습문제도 함께 제공된다.

목차

1일째 C++ 프로그래밍의 시작

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


2일째 C++ 프로그램의 각 부분들

간단한 프로그램의 각 부분들
간단히 살펴보는 cout
주석문(Comments)
주석문의 형태
주석문 쓰기
각 파일의 처음에 필요한 주석들
주석에 관한 마지막 주의 사항
함수
함수 사용법
요약
Q/A
실습해보기
퀴즈
연습 문제


3일째 변수와 상수

변수(Variable)란 무엇인가?
메모리 할당하기
정수(Integer)의 크기
Signed와 Unsigned
기본적인 변수형
변수 정의하기
대?소문자의 구별
예약어(Keyword)
한꺼번에 같은 형 변수를 하나 이상 만들 때
변수에 값 대입하는 법
typedef
언제 short을 쓰고 언제 long을 쓰는가?
unsigned 정수형에서의 올림 초기화
signed 정수에서의 올림 초기화
문자(Character)
문자와 숫자
특수 출력 문자
상수(Constant)
문자 상수(literal constant)
기호 상수(symbolic constant)
상수 나열형
요약
Q/A
실습해보기
퀴즈
연습 문제


4일째 수식과 문장

문장(Statement)
공백 문자(Whitespace)
블록문과 복합문
수식문(Expression)
연산자(Operator)
대입 연산자(assignment operator)
수학 연산자(mathematical operator)
정수 나눗셈과 나머지 연산
대입 연산자와 수학 연산자의 혼용
증가 연산자와 감소 연산자
전치(Prefix) 연산자와 후치(Postfix) 연산자
연산자 우선순위(Precedence)
중첩 괄호(Nesting Parentheses)
참값의 속성
관계 연산자(Relational Operator)
if 문장
들여쓰기(Indentation Style)
else
복합 if문
중첩 if문에서의 중괄호 사용
논리 연산자(Logical Operator)
논리곱(logical AND)
논리합(logical OR)
논리적 부정(logical NOT)
관계 연산자 우선순위
참과 거짓에 대한 몇 가지 사항들
조건(삼항) 연산자
요약
Q/A
실습해보기
퀴즈
연습 문제


5일째 함수

함수(function)란 무엇인가?
함수 선언(Declaring)과 함수 정의(Definition)
함수 선언
함수 원형(Function Prototype)
함수 정의(Defining the Function)
함수 실행
지역 변수(Local Variable)
전역 변수(Global Variable)
전역 변수 - 주의해야 할 단어
지역 변수에 대한 추가 사항
함수문(Function Statement)
함수 인자(Function Argument)
함수의 매개변수로 함수를 사용하는 함수
매개변수는 지역 변수
반환값(Return Value)
기본 매개변수(Default Parameter)
함수 중첩(Overloading Function)
함수에 관한 특별한 주제들
확장(inline) 함수
자기 호출(Recursion)
함수는 어떻게 동작되는가?
추상화 단계
RAM 나누기
스택과 함수
요약
Q/A
실습해보기
퀴즈
연습 문제


6일째 기본적인 클래스

새로운 형(New Type) 만들기
왜 새로운 형을 만드는가?
클래스와 멤버(Class and Member)
클래스의 선언(Declaring a Class)
이름짓는 법
객체 정의(Defining an Object)
클래스와 객체
클래스 멤버에의 접근
클래스에 대입하지 말고 객체에 대입하기
선언을 하지 않으면 클래스는 이를 가질 수 없다
전용(private)과 범용(public)
멤버 자료를 전용으로 만들기
전용성과 보안성에 대하여
클래스 메쏘드 구현
생성자와 소멸자
기본 생성자와 기본 소멸자
const 멤버 함수
인터페이스와 구현
클래스 선언과 메쏘드 정의를 어디에서 할 것인가?
inline 구현
다른 클래스를 멤버 자료로 갖는 클래스
구조체(Structure)
왜 두 개의 예약어는 같은 일을 할까?
요약
Q/A
실습해보기
퀴즈
연습 문제


7일째 프로그램의 흐름

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


8일째 포인터

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


9일째 참조자

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


10일째 고급 함수들

멤버 함수 중첩(Overload)
기본값(Default Value) 쓰기
기본값과 중첩 함수 중 어떤 것을 선택할 것인가?
기본 생성자(Default Constructor)
생성자 중첩
객체 초기화
복사 생성자(Copy Constructor)
연산자 중첩
증가 함수(Increment Function) 만들기
전치(Prefix) 연산자 중첩시키기
중첩 연산자 함수에서의 반환값 형
이름 없는(Nameless) 임시 객체 반환
this 포인터 사용하기
후치(Postfix) 연산자 중첩시키기
전치와 후치 연산자 차이
덧셈 연산자
operator+ 중첩
연산자 중첩에서 몇 가지 중요 사항들
연산자 중첩에 있어서의 한계
무엇을 중첩시킬 것인가?
대입 연산자
변환 연산자
형 변환 연산자(Conversion Operator)
요약
Q/A
실습해보기
퀴즈
연습 문제


11일째 배열

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


12일째 상속

상속(inheritance)이란 무엇인가?
상속(Inheritance)과 파생(Derivation)
동물의 왕국
파생 구문
전용(private)과 보호(protected)
생성자와 소멸자
기본 생성자에게 인수 전달하기
함수 재생(Overriding Function)
중첩(overloading)과 재생(overriding)
기본 클래스 메쏘드의 은폐
기본 메쏘드 호출
가상 메쏘드(Virtual Method)
가상 함수는 어떻게 동작하는가?
없는 것을 얻을 수는 없다
분할하기
가상 소멸자(Virtual Destructor)
가상 복사 생성자(Virtual Copy Constructor)
가상 메쏘드를 사용하는 대가
요약
Q/A
실습해보기
퀴즈
연습 문제


13일째 다형성

단항 상속성(Single Inheritance)의 문제점
상승(Percolating Upward)
형 변환 하향(Casting Down)
두 개의 목록(List)에 넣기
다중 상속(Multiple Inheritance)
다중 상속 객체의 각 부분들
다중 상속된 객체에서의 생성자
모호성 해결(Ambiguity Resolution)
공유된 기본 클래스(Shared Base Class)로부터 상속
가상 상속(Virtual Inheritance)
다중 상속의 문제점들
혼합(Mixin) 그리고 만능 클래스
추상 자료형(Abstract Data Type)
순수 가상 함수(Pure Virtual Function)
순수 가상 함수의 구현
추상의 복합 계층(Complex Hierarchies of Abstraction)
어떤 형이 추상인가?
Q/A
실습해보기
퀴즈
연습 문제


14일째 특수 클래스와 함수들

정적 멤버 자료(Static Member Data)
정적 멤버 함수(Static Member Function)
함수를 가리키는 포인터
함수 포인터를 사용하는 이유
함수 포인터 배열
함수 포인터를 다른 함수에 전달하는 방법
함수 포인터를 typedef로 선언하기
멤버 함수에 대한 포인터
멤버 함수 포인터에 대한 배열
요약
Q/A
실습해보기
퀴즈
연습 문제


15일째 고급 상속 기능

포함(Containment)
포함된 클래스의 멤버에 접근
포함된 멤버에 대한 접근 걸러내기(Filtering)
포함의 대가
값에 의한 복사
상속/포함, 대리(Delegation) 관점 구현
대리(Delegation)
전용 상속(Private Inheritance)
프랜드 클래스(Friend Class)
프랜드 함수(Friend Function)
프랜드 함수와 연산자 중첩(Operator Overloading)
삽입 연산자(Insertion Operator) 중첩
요약
Q/A
실습해보기
퀴즈
연습 문제


16일째 스트림

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


17일째 전처리계

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


18일째 객체 지향 분석과 설계

개발 주기(Development Cycle)
경보 시스템 시뮬레이션
예비 설계
무엇이 객체인가?
다른 객체들
클래스란 무엇인가?
경보는 어떻게 보고되는가?
사건 순환문(Event Loop)
우편 시스템(PostMaster)
생각은 여러 번, 결정은 한번에
분열시킨 뒤 정복하라
메시지 규격화
초기 클래스 설계
순종 계층과 잡종 계층
인터페이스 설계
원형 만들기(Building a Prototype)
80/80의 법칙
PostMasterMessage 클래스 설계
응용 프로그램 인터페이스
대 그룹에서의 프로그래밍
설계에서 기타 고려 사항들
설계시 판단
판단, 판단
구동 프로그램(Driver Program)을 가지고 작업
요약
Q/A
실습해보기
퀴즈
연습 문제


19일째 템플릿

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


20일째 예외 사항과 오류 처리

버그, 오류, 실수, 프로그램에 녹이 슬 때(Code Rot)
예외 사항(Exception)
‘녹슨 프로그램(Code Rot)’이라는 말에 대해
예외 사항(Exception)
예외 사항은 어떻게 사용되는가?
try 블록과 catch 블록의 사용
예외 사항 잡기(Catching Exception)
하나 이상의 catch문
예외 사항 계층 구조
예외 사항의 자료와 예외 사항 객체 작명법
예외 사항과 템플릿
오류가 없는 예외 사항
버그와 디버깅
분기점(Breakpoint)
경계점(Watch Point)
메모리 살펴보기
어셈블러
요약
Q/A
실습해보기
퀴즈
연습 문제


21일째 다음은 무엇을 할 것인가?

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

부록 A 연산자 우선순위
부록 B C++ 예약어
부록 C 이진법과 16진법
부록 D 퀴즈, 연습 문제 해답

저자소개

제시 리버티 (지은이)    정보 더보기
마이크로소프트의 실버라이트 개발 파트의 선임 개발자이며, 오라일리의 『Programming Silverlight 2』와 베스트셀러인 『Programming C# 3.0』을 비롯한 여러 권의 책을 집필했다.
펼치기
양재찬 (옮긴이)    정보 더보기
<정품 소프트웨어가 들어있는 C ++>
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책