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