Moving from C to C++: Discussing programming problems, why they exist and how C++ solves them (Paperback)
暫譯: 從 C 到 C++:討論程式設計問題、其存在原因及 C++ 如何解決這些問題 (平裝本)

Arunesh Goyal

  • 出版商: Apress
  • 出版日期: 2013-08-06
  • 售價: $1,930
  • 貴賓價: 9.5$1,834
  • 語言: 英文
  • 頁數: 668
  • 裝訂: Paperback
  • ISBN: 1430260947
  • ISBN-13: 9781430260943
  • 相關分類: C 程式語言C++ 程式語言
  • 已絕版

買這商品的人也買了...

商品描述

The author says it best, "I hope to move you, a little at a time,from understanding C to the point where C++ becomes your mindset". This remarkable book is designed to streamline the process of learning C++ in a way that discusses programming problems, why they exist, and the approach C++ has taken to solve such problems.

"You can't just look at C++ as a collection of features; some of the features make no sense in isolation.  You can only use the sum of the parts if you are thinking about design, not simply coding.  To understand C++, you must understand the problems with C and with programming in general.  This book discusses programming problems, why they are problems, and the approach C++ has taken to solve such problems.  Thus, the set of features that I explain in each chapter will be based on the way that I see a particular type of problem being solved in C++."

Tailor made to treat difficult concepts in a simple and practical way, the book focuses on building a customizable model for the reader which helps in deducing the solution of any puzzle that one might encounter.

The book presents the material one simple step at a time, so the reader can easily digest each concept before moving on. It uses examples that are as simple and as short as possible. This book does not to use any particular vendor’s version of C++ because, for learning the language, the details of a particular implementation are not as important as the language itself.
 
All code in the book was run against the Visual Studio (Microsoft) C++ compiler and Apple's Xcode C++ compiler to ensure accuracy.

What you’ll learn

  • To look at C++ as a way to express and tackle more and more complex concepts
  • Understand that C++ is not just a collection of features in isolation
  • To think about design, not simply coding
  • To understand the problems with C and with programming, in general and how they are addressed in C++
  • Build up a solid foundation so that you can understand the issues well enough to move on


Who this book is for

C programmers in the process of adopting C++. Readers should at minimum have a reading level comfort with C.

Table of Contents

  1. Introduction to Objects
  2. Making and Using Objects
  3. The C in C++
  4. Data Abstraction
  5. Hiding the Implementation
  6. Initialization and Cleanup
  7. Function Overloading and Default Arguments
  8. Constants
  9. Inline Functions
  10. Name Control
  11. References and the Copy Constructor
  12. Operator Overloading
  13. Dynamic Object Creation
  14. Inheritance and Composition
  15. Polymorphism and Virtual Functions
  16. Introduction to Templates
  17. Exception Handling
  18. Strings in Depth
  19. iostreams
  20. Runtime Type Identification (RTTI) 
  21. Multiple Inheritance (MI) 

商品描述(中文翻譯)

作者說得最好:「我希望能夠逐步引導你,從理解 C 轉變到 C++ 成為你的思維方式。」這本卓越的書籍旨在簡化學習 C++ 的過程,討論程式設計問題、為什麼會存在這些問題,以及 C++ 如何解決這些問題。

「你不能僅僅把 C++ 看作是一組特性;有些特性在孤立的情況下是沒有意義的。只有在考慮到設計而不僅僅是編碼時,你才能使用各部分的總和。要理解 C++,你必須理解 C 及一般程式設計的問題,以及它們是如何被解決的。本書討論了程式設計問題、為什麼它們是問題,以及 C++ 如何解決這些問題。因此,我在每一章中解釋的特性將基於我對特定類型問題在 C++ 中被解決的方式的看法。」

這本書專門設計以簡單且實用的方式處理困難的概念,重點在於為讀者建立一個可自訂的模型,幫助推導出可能遇到的任何難題的解決方案。

本書以簡單的步驟逐步呈現材料,讓讀者能夠輕鬆消化每個概念,然後再繼續進行。它使用的範例盡可能簡單且短小。本書不使用任何特定廠商的 C++ 版本,因為對於學習這門語言而言,特定實作的細節並不如語言本身重要。

書中的所有程式碼均在 Visual Studio (Microsoft) C++ 編譯器和 Apple 的 Xcode C++ 編譯器上運行,以確保準確性。

你將學到的內容:
- 將 C++ 視為表達和處理越來越複雜概念的一種方式
- 理解 C++ 不僅僅是一組孤立的特性
- 考慮設計,而不僅僅是編碼
- 理解 C 及一般程式設計的問題,以及它們在 C++ 中是如何被解決的
- 建立堅實的基礎,以便能夠充分理解問題並繼續前進

本書的讀者對象:
正在過渡到 C++ 的 C 程式設計師。讀者至少應該對 C 的閱讀水平感到舒適。

目錄:
1. 物件導論
2. 創建和使用物件
3. C++ 中的 C
4. 數據抽象
5. 隱藏實作
6. 初始化與清理
7. 函數重載與預設參數
8. 常數
9. 內聯函數
10. 名稱控制
11. 引用與複製構造函數
12. 運算子重載
13. 動態物件創建
14. 繼承與組合
15. 多型與虛擬函數
16. 模板導論
17. 異常處理
18. 字串深入探討
19. iostreams
20. 執行時類型識別 (RTTI)
21. 多重繼承 (MI)