目 錄
譯者序
前 言
第一部分 介紹C++
第1章入門
1.1為什么C++是最佳選擇
1.1.1過程化、結構化和面向對象的程序
設計
1.1.2C++和面向對象的程序
1.1.3C++是如何發(fā)展起來的
1.14C++不僅僅是更好的C語言
1.1.5是否應當首先學習C語言
1.2為編程作準備
1.3區(qū)分C++、ANSIC++、Windows和其他
領域的一些概念
1.4編譯和鏈接源代碼
1.4.1在集成開發(fā)環(huán)境中進行編譯
1.4.2鏈接程序
1.5開發(fā)過程
1.6HELLO.CPP——第一個C++程序
1.7編譯時出錯
1.8小結
1.9問與答
第2章 C++程序的構成
2.1一個簡單程序的構成
2.1.1逐個字符檢查#Include語句
2.1.2逐行分析
2.2注釋
2.2.1注釋的類型
2.2.2使用注釋
2.3功能
2.4小結
2.5問與答
第3章 變量與常量
3.1什么是變量
3.1.1分配內存空間
3.1.2整數(shù)的大小
3.1.3signed與unsigned
3.1.4基本變量類型
3.2定義 個變量
3.2.1區(qū)分大小寫
3.2.2關鍵字
3.3一次說明多個變量
3.4給變量賦值
3.5typedef語句
3.6何時使用short和long
3.6.1無符號整數(shù)的溢出
3.6.2有符號整數(shù)的溢出
3.7常量
3.7.1數(shù)值常量
3.7.2符號常量
3.8枚舉常量
3.9小結
3.10問與答
第4章 表達式與語句
4.1語句
4.1.1空白
4.1.2復合語句
4.2表達式
4.3運算符
4.3.1賦值運算符
4.3.2數(shù)學運算符
4.4組合使用賦值語句和數(shù)學運算符
4.5增量運算和減量運算
4.6優(yōu)先級
4.7括號嵌套
4.8“真”與“假”的實質
4.9關系運算符
4.10if語句
4.10.1else子句
4.10.2高級if語句
4.11在嵌套if語句中使用花括號
4.12邏輯運算符
4.12.1邏輯與
4.12.2邏輯或
4.12.3邏輯非
4.13關系優(yōu)先級
4.14深入討論邏輯值“真”與“假”
4.15小結
4.16問與答
第5章 函數(shù)
5.1什么是函數(shù)
5.2說明并定義函數(shù)
5.2.1函數(shù)的說明
5.2.2函數(shù)的定義
5.3局部變量
54全局變量
5.5函數(shù)的語句
5.6函數(shù)的實參
5.7形參是局部變量
5.8返回值
5.9缺省形參
5.10功能的重載
5.10.1深入研究函數(shù)的機理
5.10.2棧與函數(shù)
5.11小結
5.12問與答
第二部分 類
第6章 基本類
6.1創(chuàng)建新類型
6.1.1什么是類型
6.1.2為什么要創(chuàng)建 個新類型
6.2類與成員
6.2.1類的說明
6.2.2有關命名的約定
6.2.3定義一個對象
6.2.4類與對象
6.3訪問類的成員
6.4私有成員和公有成員
6.5類方法的實現(xiàn)
6.6構造函數(shù)和析構函數(shù)
6.6.1缺省構造函數(shù)
6.6.2編譯程序提供的構造函數(shù)
6.7小結
6.8問與答
第7章 深入了解類
7.1const型成員函數(shù)
7.2接口與方法
7.3在何處放置類的說明以及方法的定義
7.4內聯(lián)實現(xiàn)
7.5以其他的類作為數(shù)據(jù)成員的類
7.6小結
7.7問與答
第8章 高級程序流程控制
8.1循環(huán)
8.1.1goto語句——循環(huán)語句的起源
8.1.2為什么現(xiàn)在不使用goto語句
8.2while循環(huán)
8.2.1更加復雜的while語句
8.2.2continue和break
8.2.3while(1)循環(huán)
8.3do…while循環(huán)
8.4for循環(huán)
8.4.1高級for循環(huán)
8.4.2空的for循環(huán)
8.4.3循環(huán)嵌套
8.5switch語句
8.6小結
8.7問與答
第三部分 內存管理
第9章 指針
9.1什么是指針
9.1.1在一個指針中存儲地址值
9.1.2指針名
9.1.3目標訪問運算符
9.1.4指針、地址和變量
9.1.5使用指針處理數(shù)據(jù)
9.1.6檢查地址值
9.2為什么使用指針
9.3棧和自由存儲區(qū)
9.3.1new
9.3.2delete
9.3.3內存丟失
9.4小結
9.5問與答
第10章 高級指針
10.1在自由存儲區(qū)內創(chuàng)建對象
10.2刪除對象
10.3訪問數(shù)據(jù)成員
10.4自由存儲區(qū)中的成員數(shù)據(jù)
10.5this指針
10.6this指針的用途
10.7迷途指針或懸浮指針
10.8const型指針
10.8.1const型指針和const型成員函數(shù)
10.8.2const型this指針
10.9小結
10.10問與答
第11章 引用
11.1什么是引用
11.2說明一個引用
11.3對引用使用取址運算符
11.4什么可以被引用
11.5空指針和空引用
11.6通過引用傳遞的方式給函數(shù)傳遞實參
11.6.1使用指針使swap()函數(shù)正常工作
11.6.2使用引用實現(xiàn)swap()
11.7理解函數(shù)的域名和原型
11.8返回多個值
11.9小結
11.10 問與答
第12章 高級引用和指針
12.1使用引用傳遞的方式以提高效率
12.2使用引用代替指針
12.3如何確定使用引用還是指針
12.4不要返回一個非作用域中的目標對象的
引用
12.5返回一個在堆中的對象的引用
12.6指針的傳遞
12.7小結
12.8問與答
第四部分 功能強大的工具
第13章 高級函數(shù)
13.1重載成員函數(shù)
13.2使用缺省值
13.3在使用缺省值或重載函數(shù)之間選擇
13.4缺省構造函數(shù)
13.5重載函數(shù)
13.6初始化對象
13.7復制構造函數(shù)
13.8小結
13.9問與答
第14章 運算符重載
14.1運算符重載
14.1.1定義 個增量函數(shù)
14.1.2重載后置運算符
14.1.3前置與后置的區(qū)別
14.1.4pperato+
14.1.5重載operator+
14.1.6運算符重載的限制
14.1.7何時需要重載
14.1.8operato=
14.2轉換運算符
14.3小結
14.4問與答
第15章 數(shù)組
15.1什么是數(shù)組
15.2數(shù)組元素
15.3數(shù)組越界
15.4界樁錯誤
15.5初始化數(shù)組
15.6對象數(shù)組
15.7多維數(shù)組
15.8關于內存
15.9指針數(shù)組
15.10說明自由存儲區(qū)中的數(shù)組
15.11指向數(shù)組的指針和指針數(shù)組
15.12指針與數(shù)組名
15.13刪除自由存儲區(qū)中的數(shù)組
15.14char型數(shù)組
15.15strcpy()和strnepy()
15.16串類
15.17小結
15.18問與答
第五部分 繼承和多態(tài)
第16章 繼承
16.1什么是繼承
16.1.1繼承與派生
16.1.2動物王國
16.1.3派生的語法
16.2私有訪問權限和保護型訪問權限
16.3構造函數(shù)和析構函數(shù)
16.4重置函數(shù)
16.4.1重載與重置
16.4.2隱藏基類方法
19.4學會使用面向對象的方式進行程序
設計
19.5小結
19.6問與答
第六部分 特別主題
第20章 特殊的類與函數(shù)
20.1靜態(tài)成員數(shù)據(jù)
20.2靜態(tài)成員函數(shù)
20.3包容
20.3.1訪問被包容類的成員
20.3.2對被包容成員的選擇性訪問
20.3.3包容的開銷
20.3.4值復制與引用復制
20.4友元類
21.7預定義宏
21.8小結
21.9問與答
高級主題
第22章 面向對象的分析和設計
22.1開發(fā)過程
22.2模擬一個報警系統(tǒng)
22.2.1概念表達
22.2.2分析需求
22.2.3高層設計和低層設計
22.2.4其他對象
22.2.5類的設計
22.2.6如何報警
22.2.7事件循環(huán)
22.3實例研究:PostMaster
22.3.1權衡并取舍
22.3.2功能分解并逐步求精
22.3.3信息格式
22.3.4最初的類的設計
22.3.5有根與無根的層次結構
22.3.6設計接口
22.3.7創(chuàng)建一個原型
22.3.880/80法則
22.3.9設計PostMasterMessage類
22.3.10應用程序接口
22.3.11分組進行
22.3.12繼續(xù)進行設計
22.3.13使用驅動程序
22.4小結
22.5問與答
第23章 模板
23.1什么是模板
23.2參數(shù)化類型
23.3模板的定義
23.4使用模板項
23.5標準模板庫
23.6小結
23.7問與答
第24章 異常和出錯處理
24.1程序死區(qū)、錯誤和損壞的代碼
24.2異常
24.3使用try語句塊和catch語句塊
24.3.1處理異常
24.3.2多于一個的catch語句
24.3.3通過引用傳遞和多態(tài)的方式
處理異常
24.4以下的步驟
24.5風格
24.5.1花括號
24.5.2過長的行
24.5.3switch語句
24.5.4程序文本
24.5.5標識符
24.5.6標識符的拼寫和大寫
24.5.7注釋
24.5.8訪問權限
24.5.9類的定義
24.5.10include文件
24.5.11 asset()
24.5.12const
24.6后記
24.6.1到哪里獲得幫助和建議
24.6.2所需的讀物
24.6.3雜志
24.6.4保持聯(lián)系
第八部分 附 錄
附錄A 運算符優(yōu)先級
附錄BC++關鍵字