이미 소장하고 있다면 판매해 보세요.
|
Part 1. C++ 프로그래밍
Chapter1 :: C++ 프로그래밍 시작하기 1-1 컴퓨터의 내부구조 1-2 C++ 언어란 1-3 C++ 언어의 특징 1-4 C++ 프로그래밍 과정 1-5 첫 번째 C++ 프로그래밍 1-6 C 언어로부터 확장된 연산자 Chapter 2 :: 변수와 상수 그리고 함수 2-1 변수(Variable)란 2-2 변수의 데이터 타입 2-3 상수(Constant) 2-4 연산자(Operator) 2-5 판단문과 제어문 2-6 함수(Function) 2-7 함수의 확장 Chapter 3 :: 배열과 포인터 3-1 배열(Array) 3-2 문자열 처리 3-3 포인터(Pointer) Chapter 4 :: 객체지향 언어 4-1 객체지향 언어(OOP)란 4-2 구조체와 클래스(Class) 4-3 클래스(Class)와 객체(Object) 4-4 클래스(Class) 멤버의 접근제어 4-5 클래스(Class)의 초기화와 프로그램 종료 4-6 클래스와 배열 4-7 this 포인터(자기 참조 포인터) 4-8 friend 키워드 4-9 복사 생성자 4-10 복사 생성자의 호출 시점 Chapter 5 :: const와 static 5-1 const 키워드와 클래스가 만나면 5-2 static 키워드와 클래스가 만나면 Chapter 6 :: 상속(Inheritance) 6-1 클래스 상속 6-2 클래스 상속에서의 생성자와 소멸자 6-3 클래스의 상속과 멤버 접근권한 6-4 클래스간의 상속관계 Chapter 7 :: 상속과 다형성 7-1 상속의 조건 7-2 상속 객체와 포인터 7-3 상속 객체와 레퍼런스 7-4 정적 바인딩과 동적 바인딩 7-5 다중 상속 Chapter 8 :: 연산자 오버로딩 8-1 연산자와 함수 8-2 연산자 오버로딩 8-3 단항 연산자 오버로딩 Chapter 9 :: 템플릿 9-1 템플릿(template) 이란 9-2 함수 템플릿 9-3 클래스 템플릿 Chapter 10 :: 예외 처리 10-1 예외 처리란 10-2 C++ 언어의 예외 처리 10-3 예외를 나타내는 클래스와 상속 Chapter 11 :: C++ 입출력 11-1 C++ 입출력 기초 11-2 파일 입출력 Part 2. wxWidgets Chapter 12 :: wxWidgets 시작 12-1 wxWidgets 시작 12-2 wxWidgets 예제 12-3 wxWidgets 애플리케이션 실행 순서 정리 Chapter 13 :: wxWidgets 메뉴바와 레이아웃 13-1 메뉴바 구성 13-2 간단한 메뉴바 구성하기 13-3 레이아웃 구성하기 Chapter 14 :: wxWidgets 이벤트 처리 14-1 이벤트 Chapter 15 :: wxWidgets 다이얼로그 15-1 다이얼로그 15-2 정의된 다이얼로그 15-3 커스텀 다이얼로그(Custom Dialog) Chapter 16 :: wxWidgets 위젯들 16-1 여러 가지 위젯들 16-2 Drag and Drop Chapter 17 :: Device Contexts 17-1 Device Contexts, GDI 17-2 Drawing text 17-3 Point 17-4 Pen 17-5 Regions 17-6 Gradient 17-7 Shapes Chapter 18 :: 기타 위젯 18-1 Burning Widget Chapter 19 :: 윈도우와 리눅스에서 C++ 프로그래밍 환경 구축 19-1 윈도우에서 CodeBlocks 환경 구축 19-2 리눅스(Fedora) 설치와 CodeBlocks 환경 구축 Chapter 20 :: VI(M), RPM 패키징 그리고 SUBVERSION 20-1 vi(m) 편집기 20-2 RPM 패키지 만들기 20-3 subversion 활용하기 Chapter 21 :: wxWidgets 프로그램 예제와 배포방법 21-1 자동종료 프로그램 만들기 예제 |
|
독자 여러분. 공학인 동지 여러분. 본 도서를 통하여 만나 뵙게 되어서 반갑습니다.
필자는 시중에 나와있는 C++ 입문 도서들을 보면서 왜 크로스 플랫폼 개발을 위한 안내서는 없을까? 라고 생각해 왔습니다. 이런 생각을 가지게 된 이유는 다름 아니라, 리눅스 라는 OS를 사용하면서 생겨난 의문이었습니다. 필자는 1996년부터 직업적인 이유로 유닉스를 사용하면서 자연스럽게 리눅스를 접하기 시작했습니다. 대부분의 학교 교육들은 마이크로소프트 윈도우와 관련된 개발 교육에만 편중되어 있습니다. 애플리케이션을 만들기 위해서는 Visual C++도 공부해야 하고, 델파이도 공부해야 하고, GTK도 공부해야 하고, 여하튼 공부할 것이 너무도 많습니다. 하지만 wxWidgets를 공부해 두면 애플리케이션을 개발하는 작업에는 거의 모든 OS에 적용할 수 있으니 얼마나 시간적으로 금전적으로 경제적일까요? 뉴스그룹을 보면 해외에서는 wxWidgets를 사용해서 개발하는 개발자들이 많습니다. 유독 한국에서만 Visual C++를 사용하는 유저들만 학교에서 양산하고 있다는 것입니다. 물론 사용자가 많고, 레퍼런스 도서들이 많다는 점이 한 몫을 했다고 해도 과언은 아니지만, wxWidgets는 이보다 더 쉽게 프로그래밍 할 수 있습니다. 또한 한번 공부해 두면 어느 OS에서도 쉽게 프로그래밍을 할 수 있기 때문에 아주 유용합니다. C++ 언어는 C 언어로부터 시작된 언어입니다. 그래서 C 언어에 대해서 조금이라도 알고 있으면 C++ 언어를 공부하는데 많은 도움이 됩니다. 하지만, C++ 언어를 먼저 공부한다고 해서 잘못된 것은 아닙니다. 그래서 본 도서에서는 C++ 언어의 객체지향 개념 외에 C 언어의 기본 문법들도 간략하게 언급하였습니다. 2008년 여름, 대한민국 국민들은 국민의 주권을 표현하고, 알리기 위해 정부를 향해 촛불문화제를 진행하였습니다. 국민이 정부와의 소통(커뮤니케이션)을 위해 많은 노력을 한 것과 마찬가지로 컴퓨터와 인간과의 커뮤니케이션을 위해 C++라는 컴퓨터 언어를 공부하시는데 본 도서가 조금이나마 도움이 되었으면 좋겠습니다. 2009년을 맞이하며, 대구에서 김 태 용 http://www.lug.or.kr --- '저자의 글' 중에서 |
|
본 도서는 총 2개의 파트로 구성되어 있다. C++ 언어의 기본 문법 파트와 크로스 플랫폼을 지원하는 wxWidgets GUI 툴킷에 대한 파트로 구성되어 있다.
Part 1. C++ 프로그래밍 파트 1에서는 C++ 프로그래밍에 입문하기 위한 기본 문법사항들을 공부한다. 본 도서에서는 C++ 언어를 공부하기 위해 마이크로소프트의 VIsual C++를 사용하지 않고 공개 컴파일러인 gcc, g++를 사용할 것이다. 그리고 예제 파일들에 대한 컴파일과 실행은 리눅스에서 수행한 결과를 표시하였다. 윈도우에서 gcc, g++ 컴파일러를 설치하기 위해서는 MinGW를 설치해야 하는데, 이에 대한 내용은 Chapter 19에 정리해 두었다. 먼저 C++ 언어에 대한 특징을 살펴보고, 생애 최초의 C++ 프로그래밍을 따라 해 보도록 하였으며, 예제에 사용된 내용들을 설명하는 방법으로 구성하였다. 변수와 상수 그리고 함수 작성법과 사용법, 배열과 포인터 부분에서도 관련된 예제를 통하여 이해를 할 수 있도록 노력하였으며, 메모리 관련 부분에서는 그림을 사용하여 설명함으로써 이해도를 높이기 위해 노력하였다. 객체지향 언어로써의 C++ 언어에 대해 공부하며, 클래스의 개념과 사용법에 대해 공부한다. 또한 클래스의 상속과 연산자 오버로딩, 템플릿, 예외처리에 대해 공부하고, C++ 언어의 파일 입출력에 대해 공부할 수 있도록 구성하였다. Part 2. wxWidgets 파트 2에서는 GUI 프로그래밍을 위해 wxWidgets GUI 툴킷을 사용한 프로그래밍 방법에 대해 공부한다. C++ IDE로는 CodeBlocks를 사용하였다. 물론 wxDev-C++ IDE를 사용할 수도 있다. wxWidgets는 크로스 플랫폼을 지원하는 GUI 툴킷이며 윈도우, 리눅스, 맥 OS에서 코드를 재사용할 수 있다. 즉, 한번 공부해 두면 여러 OS에서 소스코드를 재사용 가능하다. 먼저 wxWidgets로 만들어진 간단한 예제부터 시작하여, GUI 폼을 구성하는 방법과 메뉴바, 레이아웃 구성을 공부하고, wxWidgets에서의 이벤트 처리와 기본적으로 제공되는 여러 가지 위젯들의 사용법을 공부한다. Chapter 19에는 윈도우와 리눅스에서 크로스 플랫폼 개발환경 구축을 위한 C++ 프로그래밍 환경구축에 대해 정리해 두었으며, 리눅스를 처음 접하시는 분들을 위해 Fedora 8 리눅스 배포판의 설치방법을 정리해 두었다. Chaper 20에는 리눅스 개발환경에서 vi(m) 편집기 사용법과 RPM 패키징 그리고 협업을 위해 소스를 공유하여 작업 할 수 있는 SUBVERSION 시스템 구축과 사용법을 정리하였다. 마지막으로 윈도우에서 작성한 간단한 wxWidgets 프로그램 예제를 실어두었으며, 배포방법에 대해서 공부할 것이다. |