IT
HOME > 도서 > IT

C++프로그래밍과 STL

  • 부제 : C++ 프로그래밍 입문서의 결정판
  • 저자 : 이창현
  • 발행일 : 2012-12-19
  • 페이지 : 280쪽
  • ISBN : 978-89-8379-767-4
  • 판형 : 188mm×257mm
  • 정가 : 15,000원
  • 책 소개
  • 저자소개
  • 미리보기
  • 목차
  • 다운로드

C++의 기초부터 STL의 활용까지!

 

이해하기 어려운 개념은 실생활의 예를 들어 설명하는

개발자를 위한 친절한 C++ 개념 설명서

 

C++ 프로그래밍에서 꼭 알아야 할 핵심 개념을 알려주는 입문서

 

C++은 구조적 특징과 객체지향의 특징을 모두 가지고 있는 매우 강력한 언어이다.

이 책은 C++이라는 언어를 기반으로 한 객체지향 프로그래밍에 대한 기본 개념을 살펴보는 것으로 시작된다. 먼저 기존에 공부했던 C 언어와의 차이점에 대해 알아보고, 객체지향의 뼈대가 되는 개념인 추상화, 은닉화, 클래스의 특징 및 오버로딩, 오버라이딩, 상속성, 다형성, 템플릿 등에 대해 차례대로 설명하고 있다.

저자는 C++의 특징과 원리를 매우 친절하고 구체적인 설명으로 설명하여 독자들의 이해를 돕고 있으며, 이해하기 쉽지 않은 다소 복잡한 개념은 실생활을 빗대 설명함으로써 독자들의 혼돈을 막고 쉽고 빠른 이해를 돕는다.

파트2에서는 C++의 표준 라이브러리인 STL(Standard Template Library)에 대해 설명하고 있다. STL의 구성 요소라 할 수 있는 컨테이너, 반복자, 알고리즘 등에 대해 상세하게 설명하므로, STL을 익히는 데 큰 도움이 될 것이다. 처음 배울 때는 조금 어려운 감이 있으나 패턴이 비슷하므로 한 가지만 제대로 익혀 놓으면 나머지를 습득하는 데는 어려움이 없기 때문에 이 책을 통해 기본 개념을 충실히 학습하도록 저자는 권하고 있다. 

저자 이창현

저자는 온라인 및 오프라인에서 다년간 컴퓨터 프로그래밍 관련 강의를 진행하면서, 주로 C, C++ 프로그래밍, Win32 기반의 API 프로그래밍, MFC 프로그래밍, C# 프로그래밍 강의를 하였고, 최근에는 방법론에 근거한 소프트웨어 아키텍처 설계와 디바이스간 클라우드 기반 솔루션에 관심을 가지고 개발하고 있다.

2002년부터 변전소 부분 방전 모니터링 시스템, PC 유해차단 시스템, 3D 엔진 및 저작 도구, 안드로이드 스마트폰 테마(폰 꾸미기), PC 클라우드 클라이언트 개발 등에 걸쳐 다양한 산업 분야에서 여러 가지 소프트웨어를 개발하였다.

어렵게 배운 프로그래밍 기법을 많은 사람들에게 쉽게 전달하고, 소프트웨어를 통해서 사람들에게 감동을 주는 것이 저자의 꿈이다.

 

저서

MFC 시스템 프로그래밍(혜지원, 2009), Win32 기반의 API 프로그래밍(혜지원, 2011)

  


 

  

PART1. C++ 프로그래밍

Chapter1. 객체지향 프로그래밍의 기본 개념

1. 객체지향 프로그래밍(Object-Oriented Programming)이란?

2. 추상화(Abstraction)

3. 데이터 은닉(Encapsulation

4. 다형성(Polymorphism)

5. 상속성(Inheritance)

 

Chapter2. C에서 C++로 확장

1. C++ 프로그래밍의 기본 구조

2. 변수의 선언 위치

3. 함수 전달인자의 기본값

4. 영역 결정 연산자(Scope Resolution Operator)

5. 인라인 함수(Inline Function)

6. 함수 오버로딩(Overloaded Function)

 

Chapter3. 클래스(Class)

1. C++에서 추상적인 데이터형인 클래스

2. 멤버 접근(멤버변수 및 멤버함수)

3. 생성자와 소멸자

 

Chapter4. 클래스의 특징과 객체 활용

1. 객체 배열

2. 객체 포인터

3. this 포인터

4. 매개 변수가 객체인 함수

5. const 멤버함수와 const 객체

6. static 멤버

7. 프렌드(friend)

 

Chapter5. 클래스와 동적 메모리 할당

1. new/delete 연산자와 동적 메모리

2. 객체의 동적 메모리 할당

3. 포인터 멤버변수를 갖는 클래스

4. 대입 연산자 오버로딩

5. 복사 생성자

 

Chapter6. 연산자 오버로딩(operator overloading)

1. 연산자 오버로딩이란?

2. 멤버 연산자 함수와 프렌드 함수

3. 여러 가지 연산자 오버로딩

 

Chapter7. 상속성(Inheritance)

1. 상속의 구조

2. 상속 관계의 특성

3. 부모 클래스와 자식 클래스 사이의 변환

 

Chapter8. 다형성(polymorphism)

1. 가상함수(Virtual Function)의 개요

2. 다형성의 의미

3. 순수 가상함수와 추상 클래스

4. 가상 소멸자

 

Chapter9. 다중상속(Multiple Inheritance)

1. 다중상속의 필요성

2. 다중상속 클래스의 모호성

3. 가상 기초 클래스(Virtual Base Class)

 

Chapter10. 템플릿(Template)

1. 템플릿이란?

2. 클래스 템플릿(Class Template)

3. 함수 템플릿(Function Template)

 

Chapter11. 예외 처리(Exception Handling)

1. 예외 처리의 의미

2. 예외 처리 기본 구문

3. C++ 매커니즘을 이용한 예외 처리

 

 

PART2. STL(Standard Template Library)

 

Chapter12. STL (Standard Template Library)

12. STL의 개요

1. STL의 개념

2. STL의 구성 요소

3. STL의 특징

 

Chapter13. 컨테이너(Container)

1. 순차 컨테이너(Sequence Container)

2. 연관 정렬 컨테이너(Sorted Associative Container)

 

Chapter14. 반복자(Iterator)

1. 반복자의 기본

2. 반복자의 사용 형태

3. 반복자의 간단한 사용 예제

 

Chapter15. 알고리즘(Algorithms)

1. 알고리즘의 개념

2. 알고리즘의 사용 예제