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

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

초보자를 위한 C++ 21일 완성

초보자를 위한 C++ 21일 완성

(최신 개정 4판)

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

일반도서

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

중고도서

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

eBook

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

책 이미지

초보자를 위한 C++ 21일 완성
eBook 미리보기

책 정보

· 제목 : 초보자를 위한 C++ 21일 완성 (최신 개정 4판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788956743370
· 쪽수 : 989쪽
· 출판일 : 2006-09-13

책 소개

21일 안에 윈도우 프로그래밍에 익숙해질 수 있게 구성한 지침서. 기본기는 물론, 고급 기술로 자연스럽게 옮겨갈 수 있도록 구성했다. 프로그램을 빠른 시간안에 만들기 위해 필요한 비주얼 C++의 개발 환경과 친해질 수 있도록 했으며 윈도우 표준 컨트롤을 익숙하게 활용할 수 있도록 내용을 담았다.

목차

시작하면서

Week 1 첫째 주의 학습 목표

1일째 C++의 시작
간단한 C++의 역사
문제 해결 방식
순차적, 구조적, 그리고 객체지향 프로그래밍
C++과 객체지향 프로그래밍
C++은 어떻게 진화되어 왔는가?
C를 먼저 배워야 하는가?
C++과 자바와 C#
ANSI 표준
프로그램 준비
개발자의 개발 환경(Development Environment)
원시 코드 컴파일하기
컴파일러로 '목적 파일(Object File)' 생성하기
링커 가지고 실행 가능한 파일 만들기
개발 주기(Development Cycle)
첫 번째 C++ 프로그램 작성(HELLO.cpp)
자신이 이용하는 컴파일러로 시작하는 경우
Hello World 프로젝트 구축
컴파일 오류들
요약
Q&A
워크샵
퀴즈
연습문제

2일째 C++ 프로그램의 각 부분들
간단한 프로그램의 각 부분들
간단히 살펴보는 cout
표준 이름 영역(Standard Namespace) 사용하기
주석문(Comments)
주석문의 형태
주석문 사용법
주석에 관한 마지막 주의 사항
함수
함수 사용법
요약
Q&A
워크샵
퀴즈
연습문제

3일째 변수와 상수
변수란 무엇인가?
자료는 메모리에 저장된다
메모리 할당하기(Setting Aside Memory)
정수(Integer)의 크기
Signed와 Unsigned
기본적인 변수형
변수 정의하기
대.소문자의 구별
예약어
동시에 같은 형 변수를 하나 이상 만들 때
변수에 값 대입하는 법
typedef
언제 short를 쓰고 언제 long을 쓰는가?
unsigned 정수형에서의 올림 초기화
signed 정수형에서의 올림 초기화
문자(Character)
문자와 숫자
특수 출력 문자
상수(Constant)
문자 상수(literal constant)
기호 상수(symbolic constant)
나열형 상수(enumerated constant)
요약
Q&A
워크샵
퀴즈
연습문제

4일째 수식과 문장
문장(Statement)
공백 문자(Whitespace)
블록문과 복합문
수식문(Expression)
연산자(Operator)
대입 연산자(assignment operator)
수학 연산자(mathematical operator)
정수 나눗셈과 나머지 연산
대입 연산자(Assignment Operator)와 수학 연산자(Mathematical Operator)의 혼용
증가 연산자와 감소 연산자
전치 연산자(Prefix)와 후치 연산자(Postfix)
연산자 우선 순위(Precedence)
중첩된 괄호
참(true)값의 속성
관계 연산자(Relational Operator)
if 문장
들여쓰기(Indentation Style)
else
복합 if 문
중첩 if 문에서의 중괄호 사용
논리 연산자(Logical Operator)
논리곱( && )
논리합( || )
논리적 부정( ! )
간단한 검사 방식
관계 우선 순위(Relational Precedence)
참과 거짓에 대한 몇 가지 사항들
조건 연산자(삼항) 연산자
요약
Q&A
워크샵
퀴즈
연습문제

5일째 함수
함수란 무엇인가?
반환값, 매개변수, 인자
함수 선언(Declaring)과 함수 정의(Definition)
함수 선언
함수 원형(Function Prototype)
함수 정의
함수 실행(Execution of Function)
지역 변수(Local Variable)
범위(scope)
전역 변수(Global Variable)
전역 변수에 대한 주의 사항
지역 변수에 대한 추가 사항
함수문(Function Statement)
함수 인자(Function Argument)에 대한 부가 설명
함수의 매개변수로 함수를 사용하는 함수
매개변수는 지역 변수
반환값(Return Value)에 대한 부가 설명
기본 매개변수
함수 중첩
함수에 관한 특별한 주제들
인라인(inline) 함수
자기 호출(Recursion)
함수는 어떻게 동작되는가?
추상화 단계
RAM 나누기
스택과 함수
요약
Q&A
워크샵
퀴즈
연습문제

6일째 객체지향 프로그래밍(Object-Oriented Programming)
C++은 객체지향인가?
새로운 형 만들기
왜 새로운 형을 만드는가?
클래스와 멤버
클래스의 선언(Declaring a Class)
이름짓는 법
객체 정의
클래스와 객체
클래스 멤버에 접근하기
클래스에 대입하는 것이 아니라 객체에 대입하기
선언하지 않으면 클래스는 이를 가질 수 없다!!
전용(private)과 범용(public)
멤버 자료를 전용으로 만들기
전용성과 보안성에 대하여
클래스 메소드 구현
생성자와 소멸자
기본 생성자와 기본 소멸자
기본 생성자 사용법
const 멤버 함수
인터페이스와 구현
클래스 선언과 메소드 정의를 어디에서 할 것인가?
inline 구현
다른 클래스를 멤버 자료로 갖는 클래스
구조체(Structures)
왜 두 개의 예약어는 같은 일을 할까?
요약
Q&A
워크샵
퀴즈
연습문제

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

Week 1 끝내면서

Week 2 시작하면서

8일째 포인터
포인터란 무엇인가?
메모리에서의 비트(bit)
주소 연산자(&) 사용하기
포인터에 주소를 저장
널(Null)과 와일드(Wild) 포인터
포인터 이름
간접 지정 연산자
포인터, 주소, 변수
포인터를 사용한 자료 연산
주소에 대한 고찰
포인터를 사용하는 이유?
스택과 자유 기억 공간(Free Store : 힙(Heap))
new
delete
메모리 누출(Memory Leak)
자유 기억 장소에 객체 만들기
객체 지우기
자료 멤버(Data Member)에 접근
자유 기억 공간의 멤버 자료에 대해
this라는 포인터
실종된 포인터
const 포인터
const 포인터와 const 멤버 함수
const this 포인터
포인터 연산
요약
Q&A
워크샵
퀴즈
연습문제

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

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

11일째 객체지향 분석과 설계
모델 구축
소프트웨어 설계 : 모델링 언어
소프트웨어 설계 : 프로세스
극단적인 프로그래밍
비전
요구 사항 분석
사례(Use Case)
영역 모델 만들기
애플리케이션 분석
시스템 분석
계획 문서
가시화
가공품
설계(Design)
클래스란 무엇인가?
변환
정적 모델
동적 모델(Dynamic Model)
요약
Q&A
워크샵
퀴즈
연습문제

12일째 상속
상속이란 무엇인가?
상속과 파생(Inheritance and Derivation)
동물의 왕국
파생 구문
전용(private)과 보호(protected)
생성자와 소멸자
기본 생성자에게 인자 전달하기
함수 재생(Overriding Function)
기본 클래스 메소드의 은폐
기본 메소드 호출
가상 메소드(Virtual Method)
가상 함수의 동작 원리
없는 것을 얻을 순 없다
분할하기
가상 소멸자(Virtual Destructor)
가상 복사 생성자(Virtual Copy Constructor)
가상 메소드를 사용하는 대가
요약
Q&A
워크샵
퀴즈
연습문제

13일째 배열과 연결 리스트
배열이란 무엇인가?
배열 원소(Array Element)
배열의 끝을 지나 값을 저장할 경우
울타리를 지난 오류
배열의 초기화
변수 선언
객체의 배열
다차원 배열(Multidimensional Array)
다차원 배열 초기화
메모리에 관하여
포인터 배열
자유 기억 공간에 배열 선언하기
배열을 가리키는 포인터와 포인터가 저장된 배열
포인터와 배열명
자유 기억 공간의 배열 지우기
char 배열(문자 배열)
strcpy()와 strncpy()
String 클래스
연결 리스트와 다른 구조체들
연결 리스트 사례 연구
역할의 대리
컴포넌트 부분
이곳에서 배운 것들
클래스 배열(Array Class)
요약
Q&A
워크샵
퀴즈
연습문제

14일째 다형성
단항 상속성(Single Inheritance)의 문제점
상승(Percolating Upward)
형 변환 하향
두 개의 목록에 넣기
다중 상속(Multiple Inheritance)
다중 상속 객체의 각 부분들
다중 상속된 객체에서의 생성자
모호성 해결(Ambiguity Resolution)
공유된 기본 클래스로부터 상속
가상 상속(Virtual Inheritance)
다중 상속의 문제점들
혼합과 만능 클래스
추상 자료형(Abstract Data Type)
순수 가상 함수(Pure Virtual Function)
순수 가상 함수의 구현
추상의 복합 계층(Complex Hierarchies of Abstraction)
어떤 형이 추상인가?
요약
Q&A
워크샵
퀴즈
연습문제

Week 2 끝내면서

Week 3 시작하면서

15일째 특수 클래스와 함수들
정적 멤버 자료
정적 멤버 함수
함수 포인터
함수 포인터를 사용하는 이유
함수 포인터 배열
함수 포인터를 다른 함수에 전달하는 방법
typedef를 사용한 함수 포인터
멤버 함수에 대한 포인터
멤버 함수 포인터에 대한 배열
요약
Q&A
워크샵
퀴즈
연습문제

16일째 고급 상속 기능
포함(Containment)
포함된 클래스의 멤버의 접근
포함된 멤버에 대한 접근 걸러내기(Filtering)
포함의 대가
값에 의한 복사
상속/포함, 대리(Delegation
대리(Delegation)
전용 상속(Private Inheritance)
프랜드 클래스(Friend Class)
프랜드 함수(Friend Function)
프랜드 함수와 연산자 중첩(Operator Overloading)
삽입 연산자(Insertion Operator) 중첩
요약
Q&A
워크샵
퀴즈
연습문제

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

18일째 이름 영역
시작
이름에 의해 해석되는 함수와 클래스
이름 영역 만들기
형의 선언 및 정의
이름 영역 밖에서의 함수 정의
새로운 멤버의 추가
이름 영역의 중첩
이름 영역 사용법
using 예약어
using 지시자
using 선언
이름 영역의 별칭
무명의 이름 영역
표준 이름 영역 std
요약
Q&A
워크샵
퀴즈
연습문제

19일째 템플릿
템플릿(Template)이란 무엇인가?
매개변수화된 형
템플릿 인스턴스의 인스턴스화
템플릿 정의
이름 사용하기
템플릿의 구현
템플릿 함수
템플릿과 프랜드
비템플릿 프랜드 클래스와 함수
일반 템플릿 프랜드 클래스/함수
템플릿 항목 사용하기
특수화된 함수들
정적 멤버와 템플릿
표준 템플릿 라이브러리
컨테이너
순차 컨테이너 이해하기
vector 컨테이너
List 컨테이너
Deque 컨테이너
스택
Queue에 대한 이해
연상 컨테이너에 대한 이해
Map 컨테이너
다른 연상 컨테이너
클래스 알고리즘
변하지 않는(Non-Mutating) 순차 연산
변하는 순차 알고리즘
요약
Q&A
워크샵
퀴즈
연습문제

20일째 예외사항과 오류 처리
버그, 오류, 실수, 프로그램에 녹이 슬 때(Code Rot)
예외사항(Exception)이 나타나는 환경
예외사항(Exception)
예외사항 사용법
try 블록과 catch 블록의 사용
예외사항 설정하기(Catching Exception)
하나 이상의 catch문
예외사항 계층 구조
예외사항 안의 자료와 예외사항 객체의 작명법
예외사항과 템플릿
오류가 없는 예외사항
'녹슨 프로그램(Code Rot)'이라는 말에 대해
버그와 디버깅
분기점(Breakpoint)
경계점(Watch Point)
메모리 감시
어셈블러
요약
Q&A
워크샵
퀴즈
연습문제

21일째 이제 무엇을 해야 하나
전처리계와 컴파일러
중간 형태의 보기
#define 지시자 사용하기
#define 지시자를 사용한 상수 정의
검사용으로 #define 지시자 사용
#else 전처리계 지시자
포함(Inclusion) 및 포함 감시자(Inclusion Guard)
매크로 함수(Macro Function)
왜 괄호들이 필요한가?
매크로와 함수 및 템플릿
인라인 함수(Inline Function)
문자열 연산(String Manipulation)
문자열 만들기
문자열 연결(Concatenation)
내장 매크로(Predefined Macro)
assert()
assert()를 가지고 디버깅하기
assert()와 예외사항(Exception)
부작용(Side Effect)
클래스의 불변성(Invariants)
중간값(Interim Value) 출력
디버그 수준(Debug Level)
비트 연산(Bit Twiddling)
비트 연산자 AND
비트 연산자 OR
배타적 비트 OR 연산자
보수 연산자(Complement 연산자)
비트 설정(Setting Bits)
비트 초기화
비트 바꾸기(Flipping Bits)
비트 필드(Bit field)
문체(Style)
들여쓰기(Indenting)
중괄호 정렬
긴 줄의 처리
switch 문 정렬
프로그램 코드 텍스트
상술자(Identifier) 작명법
주석
접근(Access)
클래스 정의
include 파일
assert()
const
다음 단계
어디에서 도움과 충고를 구할 것인가?
C#으로 넘어가야 하나?
계속 연락하기를 바라며
요약
Q&A
워크샵
퀴즈
연습문제

Week 3 끝내면서

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

찾아보기

저자소개

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