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