《C++編程實(shí)戰(zhàn):從0到1》詳細(xì)地介紹了C++在實(shí)際項(xiàng)目中的具體編程應(yīng)用,主要內(nèi)容包括:數(shù)據(jù)類型,變量聲明、范圍,控制語句,引用、指針、函數(shù)、類與對象、輸入輸出流、模板和異常處理等。
通過這些章節(jié)的學(xué)習(xí),《C++編程實(shí)戰(zhàn):從0到1》讀者將可以編寫自己的模板,以使泛型算法適用于任何類型。
通過《C++編程實(shí)戰(zhàn):從0到1》的學(xué)習(xí)讀者將不僅能夠編寫符合實(shí)際應(yīng)用的代碼,而且還能夠提高自己編寫的程序的可讀性、性能和可維護(hù)性。
《C++編程實(shí)戰(zhàn):從0到1》可作為高等學(xué)校計算機(jī)相關(guān)專業(yè)的程序設(shè)計入門教材、計算機(jī)技術(shù)的培訓(xùn)教材,或者作為全國計算機(jī)等級考試的參考用書和編程愛好者自學(xué)C++的教材。
C++是C語言的繼承,它既可以進(jìn)行C語言的過程化程序設(shè)計,又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對象的程序設(shè)計,還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計。C++在擅長面向?qū)ο蟪绦蛟O(shè)計的同時,還可以進(jìn)行基于過程的程序設(shè)計,因而C++就適應(yīng)的問題規(guī)模而論,大小由之。C++不僅擁有計算機(jī)高效運(yùn)行的實(shí)用性特征,同時還致力于提高大規(guī)模程序的編程質(zhì)量與程序設(shè)計語言的問題描述能力。
在C++中,類是支持?jǐn)?shù)據(jù)封裝的工具,對象則是數(shù)據(jù)封裝的實(shí)現(xiàn)。C++通過建立用戶定義類支持?jǐn)?shù)據(jù)封裝和數(shù)據(jù)隱藏。在面向?qū)ο蟮某绦蛟O(shè)計中,將數(shù)據(jù)和對該數(shù)據(jù)進(jìn)行合法操作的函數(shù)封裝在一起作為一個類的定義。對象被說明為具有一個給定類的變量。每個給定類的對象包含這個類所規(guī)定的若干私有成員、公有成員及保護(hù)成員。完好定義的類一旦建立,就可看成完全封裝的實(shí)體,可以作為一個整體單元使用。類的實(shí)際內(nèi)部工作隱藏起來,使用完好定義的類的用戶不需要知道類是如何工作的,只要知道如何使用它即可。
在C++現(xiàn)有類的基礎(chǔ)上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結(jié)構(gòu),明確類間關(guān)系,并且充分利用已有的類來完成更復(fù)雜、深入的開發(fā)。新定義的類為子類,成為派生類。它可以從父類那里繼承所有非私有的屬性和方法,作為自己的成員。
C++采用多態(tài)性為每個類指定表現(xiàn)行為。多態(tài)性形成由父類和它們的子類組成的一個樹型結(jié)構(gòu)。在這個樹中的每個子類可以接收一個或多個具有相同名字的消息。當(dāng)一個消息被這個樹中一個類的一個對象接收時,這個對象動態(tài)地決定給予子類對象的消息的某種用法。多態(tài)性的這一特性允許使用高級抽象。
C++繼承性和多態(tài)性的組合,可以輕易地生成一系列雖然類似但卻獨(dú)一無二的對象。由于繼承性,這些對象共享許多相似的特征。由于多態(tài)性,一個對象可有獨(dú)特的表現(xiàn)方式,而另一個對象有另一種表現(xiàn)方式。
正是因?yàn)镃++具有如此多的優(yōu)點(diǎn)和如此強(qiáng)大的功能,使其一直在軟件排行榜中占據(jù)Top5的位置,同時,C++也是目前我們開始課程種類最多、培訓(xùn)學(xué)員最多的編程語言。
本書編寫的過程,就是我近些年C++知識和培訓(xùn)經(jīng)驗(yàn)的總結(jié)。本書中基本涵蓋了C++的要點(diǎn),如數(shù)據(jù)類型,變量聲明、范圍,控制語句,引用、指針、函數(shù)、類與對象、輸入輸出流、模板和異常處理等,但是更重要的是,本書中知識點(diǎn)是以實(shí)際工作中的具體編程基礎(chǔ)來編寫的,同時,書中所提到的所有案例,都是我根據(jù)實(shí)際的項(xiàng)目中遇到的具體需求、實(shí)際編程過程和真實(shí)問題來編寫的。
第1章 基礎(chǔ)知識
1.1 計算機(jī)硬件結(jié)構(gòu)概述
1.1.1 I/O設(shè)備
1.1.2 總線
1.1.3 主存
1.1.4 中央處理器
1.2 程序
1.3 進(jìn)程與線程
1.4 定點(diǎn)數(shù)與浮點(diǎn)數(shù)
1.4.1 定點(diǎn)數(shù)
1.4.2 浮點(diǎn)數(shù)
1.4.3 浮點(diǎn)數(shù)的具體表示
1.4.4 浮點(diǎn)數(shù)的精度和數(shù)值范圍
1.5 字符編碼
1.5.1 ASCII
1.5.2 Latin1
1.5.3 ANSI
1.5.4 中文編碼
1.6 正則表達(dá)式
1.6.1 簡介
1.6.2 普通字符之不可見字符
1.6.3 正則表達(dá)式元字符
1.7 序列化與反序列化
1.7.1 數(shù)據(jù)的序列化與反序列化
1.7.2 JSON簡介
1.7.3 JSON的簡單實(shí)例
1.7.4 C++對象其他常見序列化方法
第2章 入門指南
2.1 引言
2.2 C++編譯
2.2.1 頭文件和源文件之間的差異
2.2.2 將文件編譯為目標(biāo)文件
2.2.3 連接目標(biāo)文件
2.2.4 使用main()函數(shù)
2.3 內(nèi)置數(shù)據(jù)類型
2.3.1 基本數(shù)據(jù)類型
2.3.2 數(shù)據(jù)類型修飾符
2.3.3 變量定義
2.3.4 變量初始化
2.4 指針和引用
2.4.1 指針
2.4.2 引用
2.4.3 常量限定符
2.4.4 變量的作用域
2.5 控制流語句
2.5.1 if-else選擇語句
2.5.2 switch選擇語句
2.5.3 for循環(huán)
2.5.4 while循環(huán)
2.6 Try-catch
2.7 數(shù)組
2.7.1 數(shù)組聲明
2.7.2 數(shù)組初始化
2.7.3 訪問數(shù)組的值
2.7.4 多維數(shù)組
2.8 總結(jié)
……
第3章 函數(shù)
第4章 類
第5章 泛型編程和模板
第6章 標(biāo)準(zhǔn)庫容器和算法
第7章 面向?qū)ο缶幊?br>
附錄