市面上第一本以C++語言為起點,從物件導向觀念出發,帶領您循序學習繼承、多型、STL、例外處理與STL程式設計專書!
本書觀念與語法並陳、範例與說明並重,生活化的實例說明,讓物件導向觀念融入您的思維,詳細的範例說明,讓程式設計的技巧一覽無遺,即使您不懂程式語言,照樣輕鬆學習。如果想學習C++語言進階觀念、物件導向程式設計的真諦與STL與樣板程式設計的技巧,這一本您一定不能錯過!
本書特色
1.區分觀念難易滿足不同需求 – 本書內容依觀念難易程度,區分為入門、進階與專家,讀者可依不同階段的需求彈性學習。
2.入門進階一氣呵成 – 這是市面上第一本以C++語言為起點,從物件導向觀念出發,帶領您循序學習繼承、多型、STL、例外處理與STL程式設計專書。
3.正確觀念深植腦海 – 以生活化、口語化的方式,為您建立物件導向觀念,並在介紹C++語法的過程裡,運用物件導向觀念思考問題。
4.觀念技巧相互印證 – 以物件導向觀念的角度剖析C++程式設計技巧,讓您深入瞭解C++實踐物件導向觀念的機制。
5.別人頭疼您不困擾 – 對於令人頭疼的指標,將運用圖示為您解說,並釐清指標與字串、陣列及函數間的關係。
6.深入技巧絕不迴避 – 詳細介紹大多數書籍遺漏的前置處理、函數指標、樣板與STL…等觀念,讓您深刻體驗進階技術。
7.範例眾多說明詳盡 – 全書提供236個範例,讓您從實際範例紮實學習,除列出完整程式碼與詳盡的解說外,更堅持一句一註解,程式閱讀輕鬆無負擔。
8.親身體驗軟體革命 – 透過範例的實際討論,讓您體會物件導向程式設計如何提高程式碼再用,與達成易於擴充之特性。
9.設計思維完整呈現 – 以圖書管理系統發展過程為例,介紹系統分析、設計與系統建構的完整流程。
10.輕鬆駕馭超級工具 – 除告訴您如何撰寫程式,更介紹Visual C++ 2010 Express的操作技巧。
目錄
Part I 程式設計入門與C++基本語法
第1章 簡介C/C++程式語言
本章將為您簡單介紹程式語言的基本觀念、C/C++的發展過程,並簡介Visual C++ 2010 Express 整合開發環境的基本操作。
第2章 Hello C++!與程式的除錯
這一章將利用簡單的Hello C++程式,講解C++程式的大致架構,最後則介紹如何運用Visual C++ 2010 Express 的除錯工具,執行程式的編譯與除錯。
第3章 變數、資料型別與常數
變數、資料型別與常數是程式的最基本觀念,變數就是用於儲存程式中欲使用的資料。資料型別則用於宣告變數內儲存的資料為何。而常數的觀念,則是讓我們可以將無意義的數字,用有意義的文字代替,並方便程式的維護。
第4章 運算子與運算式
這一章中將先說明一些名詞,接著再介紹程式內計算所使用的各種運算子,首先,將釐清『=』號在程式中的意義,然後依序說明各種運算子的功用,在介紹的同時也將簡要說明其運算規則。在介紹過運算子後,將詳細說明運算式中運算子計算之優先順序,以及運算式之計算規則。本章的最後一節裡,將介紹各種不同型別的資料,在運算時自動型別轉換的規則,以及如何在程式中執行資料型別的強制轉換。
第5 章 流程控制
本章將為您介紹各種判斷式與迴圈的使用。
Part II C++進階語法
第6章 陣列
第3章介紹了不同資料型別的變數,這些變數僅能儲存一個值。程式裡,常常需要儲存一連串相同的值,這時就必須用到陣列。而陣列並不是只有一維的型式,還有二維、三維…等多維陣列,這些將於本章中介紹。
第7章 指標
這一節將用極為詳細,且淺顯易懂的圖表說明指標的觀念。此外,本章使用圖表說明指標與變數間關係的方法,建議您在閱讀時,自己也可以試著畫看看。相信往後當您遇到指標方面的問題時,一定可以幫上很大的忙。
第8章 函數
就讓我們來看看,如何定義及運用函數。在介紹過函數的使用後,也將更深入說明一些函數應用的主題,其中包括自訂標頭檔、使用遞迴函用、函數指標以及函數之不定長度引數列傳入之定義方式。
第9章 動態記憶體的配置
當學完陣列後,不知道您會不會覺得,無法動態決定陣列大小是一大遺憾呢?本章9-2 節將告訴您如何建立可以等到執行程式時,再決定大小的動態陣列。9-3 節則為您解答7-3 節有關指標的指標之用途的疑問,並告訴您如何建立動態陣列。
第10章 自訂資料型別
本章將再介紹一些特別的資料型別,其中包括利用typedef 為特定資料型別指定別名,可將不同型別的資料都放在一起的結構變數struct,以及相當於常數宣告,並可用來宣告變數的列舉常數enum。
Part III 物件導向觀念與C++語法
第11章 物件導向的基本觀念
從這一章起,您將開始接觸物件導向程式設計的觀念,並透過真實世界內,各種個體間的關係,說明物件導向觀念的物件、類別、繼承、訊息這四個基本觀念,建立您對物件導向觀念的基本認識。
第12章 Hello C++!
這一章將帶領您建立一支簡單的C++程式,並詳細說明程式的內容。這一章的介紹內容,在往後的章節將做更進一步的說明。
第13章 類別與物件
上一章的內容,一直繞著兩個主題打轉 - 模擬世界與如何抽象化。由這兩個主題點出物件導向技術的優點之一,就是以物件為觀念模擬真實世界的個體時,將可保持真實世界的個體概念。這一章將進一步說明物件導向技術的基石- 物件。而類別與物件,這兩者之間的關係,也是這一章所希望讀者瞭解的,因為兩者的區別,常讓初學者無所適從。
第14章 類別的繼承–程式碼的再用
從第11 章開始,就一直強調物件導向技術在程式碼再用上的優點,而成就這個優點的主要觀念就是繼承。物件導向的繼承觀念主要為物件關係的靜態模擬。這一章裡,將告訴您如何將繼承機制運用在應用程式的開發上。除此之外,亦告訴您運用繼承可能遇到的一些問題,與解決方法。
第15章 物件間的關連與實作
上一章介紹的繼承觀念將描述類別與類別間的特性觀念,以完成一個繼承階層。真實世界內,物件間的關係當然不僅止於此。在物件導向觀念裡,還將用關聯、組合與聚合三種關係描述物件間關係。而這些觀念亦是繼承外,達成程式碼再用的重要機制。
第16章 訊息–物件間的對談
雖然這一章的篇幅,相對於前面幾章都顯得簡短。但本章闡述的觀念,卻是物件導向技術中極為重要的一環,少了這個觀念,物件導向技術就像個折翼天使,是誰這麼重要呢?它就是多型(Polymorphism)。所謂物件導向觀念的多型,就是用於模擬真實世界裡,個體間的訊息溝通。真實世界之訊息為多元性的,而C++實踐多型的機制就是函數的多載與動態連結。
第17章 樣板(TEMPLATE)
樣板是什麼?樣板是一個模子,在程式內運用樣板的方法,這就好像小時候玩的石膏,將石膏粉加水倒進模子裡,等水分蒸發掉,就可以做出可愛的卡通人物。程式裡,倒進樣板這個模子的石膏是資料型別,而產生的成品則是程式內的類別或函數。
Part IV C++標準類別庫與標準樣板程式庫
第18章 資料流與檔案的輸出/入
這一章將更進一步說明資料流的觀念,並將從螢幕輸出/入資料的方式,延伸至從檔案輸出/入資料。
第19章 標準字串類別
這一章將為您介紹C++標準所提供,用於處理字串的標準字串類別(basic_string 類別),並介紹運用標準字串類別的各種成員函數,處理字串。
第20章 例外處理
在這一章裡,將為您介紹如何運用C++提供的例外處理(Exception Handling),建立程式的錯誤處理機制。所謂的例外,是指在程式正常執行下,出現未被期待發生的狀況,也就是程式錯誤。
第21章 命名空間(namespace)
本章將介紹如何運用命名空間(namespace)的觀念,解決命名衝突的問題。
第22章 標準樣板程式庫
除了物件導向觀念在程式碼再用上做出相當大的貢獻外,另外泛型化程式設計(Generic Programming)觀念,亦在程式碼的再用上造成革命。達成泛型化程式設計的機制,主要是第17 章的樣板觀念。雖然這個觀念並未如物件導向觀念般,徹底改變程式的設計思維與運作架構,但在處理資料結構上,將泛型化程式設計的觀念與物件導向技術相結合,而建立出的標準樣板程式庫(STL,Standard Template Library),仍在資料結構的處理上,帶給程式設計師非常大的便利。
第23章 模組化開發、自訂標頭檔條件式編譯
本章將介紹如何發展模組化的程式,也就是將函數的程式碼與主程式放置在不同的程式碼檔,並且利用自訂標頭檔與條件式編譯使得模組功能更加完備。
第24章 圖書管理系統範例
這一章是本書內容的總結,本章將從無到有地示範建立圖書管理系統的完整流程。
附錄A ASCII碼
Part I 程式設計入門與C++基本語法
第1章 簡介C/C++程式語言
本章將為您簡單介紹程式語言的基本觀念、C/C++的發展過程,並簡介Visual C++ 2010 Express 整合開發環境的基本操作。
第2章 Hello C++!與程式的除錯
這一章將利用簡單的Hello C++程式,講解C++程式的大致架構,最後則介紹如何運用Visual C++ 2010 Express 的除錯工具,執行程式的編譯與除錯。
第3章 變數、資料型別與常數
變數、資料型別與常數是程式的最基本觀念,變數就是用於儲存程式中欲使用的資料。資料型別則用於宣告變數內儲存的資料為何。而常數的觀念,則是...