第1周課程簡介
第1章 緒論
1.1 c++簡史
1.1.1 解決問題
1.1.2 過程化編程、結構化編程和麵嚮對象編程
1.1.3 麵嚮對象編程(oop)
1.1.4 c抖和麵嚮對象編程
1.2 c++的發展曆程
1.3 應該先學習c語言嗎
1.4 c++、java和c#
1.5 微軟的c++可控擴展
1.6 ansi標準
1.7 編程準備
1.8 開發環境
1.9 創建程序的步驟
1.9.1 用編譯器生成對象文件
1.9.2 用鏈接器生成可執行文件
1.10 程序開發周期
1.11 hello.cpp:第一個c++程序
1.12 編譯器初步
.1.13 編譯錯誤
1.14 小結
1.15 問與答
1.16 作業
1.16.1 測驗
1.16.2 練習
第2章 c++程序的組成部分
2.1 一個簡單程序
2.2 cout簡介
2.3 使用標準名稱空間
2.4 對程序進行注釋
2.4.1 注釋的類型
2.4.2 使用注釋
2.4.3 有關注釋的警告
2.5 函數
2.5.1 使用函數
2.5.2 方法和函數
2.6 小結
2.7 問與答
2.8 作業
2.8.1 測驗
2.8.2 練習
第3章 使用變量和常量
3.1 什麼是變量
3.1.1 將數據存儲在內存中
3.1.2 預留內存
3.1.3 整型變量的大小
3.1.4 基本變量類型
3.2 定義變量
3.2.1 區分大小寫
3.2.2 命名規則
3.2.3 關鍵字
3.3 一次創建多個變量
3.4 給變量賦值
3.5 使用typedef來創建彆名
3.6 何時使用short 和 long
3.6.1 unsigned 整型變量的迴繞
3.6.2 signed 整型變量的迴繞
3.7 使用字符
3.7.1 字符和數字
3.7.2 特殊打印字符
3.8 常量
3.8.1 字麵常量
3.8.2 符號常量
3.9 枚舉常量
3.10 小結
3.11 問與答
3.12 作業
3.12.1 1j驗
3.12.2 練習
第4章 創建錶達式和語句
4.1 語句簡介
4.1.1 使用空白
4.1.2 語句塊和復閤語句
4.2 錶達式
4.3 使用運算符
4.3.1 賦值運算符
4.3.2 數學運算符
4.3.3 整數除法和求模
4.4 賦值運算符與數學運算符的組閤
4.5 遞增和遞減
4.6 理解運算符優先級
4.7 括號的嵌套
4.8 真值的本質
4.9 if語句
4.9.1 縮進風格
4.9.2 else語句
4.9.3 高級if語句
4.10 在嵌套if語句中使用大括號
4.11 使用邏輯運算符
4.11.1 邏輯and運算符
4.11.2 邏輯or運算符
4.11.3 邏輯not運算符
4.12 簡化求值
4.13 關係運算符的優先級
4.14 再談真和假
4.15 條件運算符(三日運算符)
4.16 小結
4.17 問與答
4.18 作業
4.18.1 測驗
4.18.2 練習
第5章 組織成函數
5.1 什麼是函數
5.2 返迴值、參數和實參
5.3 聲明和定義函數
5.3.1 數原型
5.3.2 定義函數
5.4 函數的執行
5.5 確定變量的作用域
5.5.1 局部變量
5.5.2 作用域為語句塊的局部變量
5.6 參數是局部變量
5.6.1 全局變量
5.6.2 有關全局變量的注意事項
5.7 創建函數語句時的考慮因素
5.8 再談函數實參
5.9 再談返迴值
5.10 默認參數
5.11 重載函數
5.12 函數特有的主題
5.12.1 內聯函數
5.12.2 遞歸
5.13 函數的工作原理
5.13.1 抽象層次
5.13.2 劃分ram
5.13.3 堆棧和函數
5.14 小結
5.15 問與答
5.16 作業
5.16.1 測驗
5.16.2 練習
第6章理解麵嚮對象編程
6.1 c++是麵嚮對象的嗎
6.2 創建新類型
6.3 類和成員簡介
6.3.1 聲明類
6.3.2 有關命名規則的說明
6.3.3 定義對象
6.3.4 類與對象
6.4 訪問類成員
6.4.1 給對象而不是類賦值
6.4.2 類不能有沒有聲明的功能
6.5 私有和公有
6.6 實現類方法
6.7 添加構造函數和析構函數
6.7.1 默認構造函數和析構函數
6.7.2 使用默認構造函數
6.8 const成員函數
6.9 接口與實現
6.10 將類聲明和方法定義放在什麼地方
6.11 內聯實現
6.12 將他類用作成員數據的類
6.13 結構
6.14 小結
6.15 問與答
6.16 作業
6.16.1 測驗
6.16.2 練習
第7章 再談程序流程
7.1 循環
7.1.1 循環的鼻祖:goto
7.1.2 為何避免使用goto語句
7.2 使用while循環
7.2.1 更復雜的while語句
7.2.2 continue和break簡介
7.2.3 while(true)循環
7.3 實現do_while循環
7.4 使用do_while
7.5 for循環
7.5.1 高級for循環
7.5.2 空for循環
7.5.3 循環嵌套
7.5.4 for循環中聲明的變量的作用域
7;6 循環小結
7.7 使用switch語句控製程序流程使用switch語句來處理菜單
7.8 小結
7.9 問與答
7.10 作業
7.10.1 測驗
7.10.2 練習
第1周復習
第2周課程簡介
第8章 理解指針
8.1 什麼是指針
8.1.1 內存簡介
8.1.2 獲取變量的內存地址
8.1.3 將變量的地址存儲到指針中
8.1.4 指針名
8.1.5 獲取指針指嚮的變量的值
8.1.6 使用間接運算符解除引用
8.1.7 指針、地址和變量
8.1.8 使用指針來操縱數據
8.1.9 查看地址
8.2 為什麼使用指針
8.3 棧和自由存儲區(堆)
8.3.1 使用關鍵字new來分配內存
8.3.2 使用關鍵字delete歸還內存
8.4 再談內存泄漏
8.5 在自由存儲區上創建對象
8.6 刪除自由存儲區中的對象
8.7 訪問數據成員
8.8 在自由存儲區中創建成員數據
8.9 this指針
8.10 迷途指針
8.11 使用const指針
8.11.1 const指針和const成員函數
8.11.2 使用const this指針
8.12 小結
8.13 問與答
8.14 作業
8.14.1 測驗
8.14.2 練習
第9章 使用引用
9.1 什麼是引用
9.2 將地址運算符用於引用
9.3 引用對象
9.4 空指針和空引用
9.5 按引用傳遞函數參數
9.5.1 使用指針讓swap()管用
9.5.2 使用引用來實現swap()
9.6 理解函數頭和原型
9.7 返迴多個值
9.8 按引用傳遞以提高效率
9.8.1 傳遞const指針
9.8.2 用引用代替指針
9.9 何時使用引用和指針
9.10 混閤使用引用和指針
9.11 返迴指嚮不在作用域中的對象的引用
9.12 指針歸誰所有
9.13 小結
9.14 問與答
9.15 作業
9.15.1 測驗
9.15.2 練習
第10章 有關函數的高級主題
10.1 重載成員函數
10.2 使用默認值
10.3 在默認值和重載函數之間做齣選擇
10.4 默認構造函數
10.5 重載構造函數
10.6 初始化對象
10.7 復製構造函數
10.8 運算符重載
10.8.1 編寫一個遞增函數
10.8.2 重載前綴運算符
10.8.3 算符重載函數的返迴類型
10.8.4 返迴無名臨時對象
10.8.5 使用this指針
10.8.6 重載後綴運算符
10.8.7 前綴和後綴之間的差彆
10.8.8 重載雙目數學運算符
10.8.9 運算符重載中存在的問題
10.8.10 對運算符重載的限製
10.8.11 重載什麼
10.8.12 賦值運算符
10.9 處理數據類型轉換
10.10 轉換運算符
10.11 小結
10.12 問與答
10.13 作業
10.13.1 測驗
10.13.2 練習
第11章 麵嚮對象分析及設計
11.1 建立模型
11.2 軟件設計:建模語言
11.3 軟件設計:過程
11.3.1 迭代式開發和瀑布式開發
11.3.2 迭代式開發過程
11.4 第1步:概念化階段——從願景開始
11.5 第2步:分析階段——收集需求
11.5.1 用例
11.5.2 應用分析
11.5.3 係統分析
11.5.4 規劃文檔
11.5.5 可視化
11.5.6 可交付品
11.6 第3步:設計階段
11.6.1 什麼是類
11.6.2 轉換
11.6.3 其他轉換
11.6.4 建立靜態模型
11.6.5 動態模型
11.7 第4~6步:實現、測試和交付
11.8 迭代
11.9 小結
11.10 問與答
11.11 作業
11.11.1 測驗
11.11.2 練習
第12章 實現繼承
12.1 什麼是繼承
12.1.1 繼承和派生
12.1.2 動物世界
12.1.3 派生的語法
12.2 私有和保護
12.3 構造函數和析構函數的繼承性
12.4 覆蓋基類函數
12.4.1 隱藏基類方法
12.4.2 調用基類方法
12.5 虛方法
12.5.1 虛函數的工作原理
12.5.2 通過基類指針訪問派生類的方法
12.5.3 切除
12.5.4 創建虛析構函數
12.5.5 虛復製構造函數
12.5.6 使用虛方法的代價
12.6 小結
12.7 問與答
12.8 作業
12.8.1 測驗
12.8.2 練習
第13章 管理數組和字符串
13.1 什麼是數組
13.1.1 訪問數組元素
13.1.2 在數組末尾後寫入數據
13.1.3 護欄柱錯誤
13.1.4 初始化數組
13.1.5 聲明數組
13.2 使用對象數組
13.2.1 聲明多維數紐
13.2.2 初始化多維數組
13.3 指針數組
13.4 指針算術
13.5 在自由存儲區聲明數組
13.5.1 數組指針和指針救組
13.5.2 指針和數組名
13.5.3 刪除自由存儲區中的數組
13.5.4 在運行階段調整數組大小
13.6 字符數組和字符串
13.7 使用方法strcpy()和stcpy()
13.8 string類
13.9 鏈錶和其他結構
13.10 創建數組類
13.11 小結
13.12 問與答
13.13 作業
13.13.1 1 驗
13.13.2 練習
第14章 多態
14.1 單繼承存在的問題
14.1.1 提升
14.1.2 嚮下轉換
14.1.3 將對象添加到鏈錶中
14.2 多重繼承
14.2.1 多重繼承對象的組成部分
14.2.2 多重繼承對象中的構造函數
14.2.3 歧義解析
14.2.4 從共同基類繼承
14.2.5 虛繼承
14.2.6 多重繼承存在的問題
14.2.7 混閤(功能)類
14.3 抽象數據類型
14.3.1 純虛函數
14.3.2 實現純虛函數
14.3.3 復雜的抽象層次結構
14.3.4 哪些類是抽象的
14.4 小結
14.5 問與答
14.6 作業
14.6.1 測驗
14.6.2 練習
第2周復習
第3周課程簡介
第15章 特殊類和函數
15.1 在同一種類型的對象之間共享數據:靜態成員數據
15.2 靜態成員函數
15.3 函數指針
15.3.1 為什麼使用函數指針
15.3.2 函數指針數組
15.3.3 將函數指針傳遞給其他函數
15.3.4 將typedef用於函數指針
15.4 成員函數指針
15.5 小結
15.6 問與答
15.7 作業
15.7.1 測驗
15.7.2 練習
第16章 高級繼承
16.1 聚閤
16.1.1 訪問被聚閤類的成員
16.1.2 控製對被聚閤成員的訪問
16.1.3 聚閤的代價
16.1.4 按值傳遞導緻復製
16.2 以繼承方式實現和聚閤/代理
16.3 私有繼承
16.4 添加友元類
16.5 友元函數
16.6 友元函數和運算符重載
16.7 重載插入運算符
16.8 小結
16.9 問與答
16.10 作業
16.10.1 測驗
16.10.2 練習
第17章 處理流
17.1 流概述
17.1.1 數據流的封裝
17.1.2 解緩衝技術
17.2 流和緩衝區
17.3 標準i/o對象
17.4 重定嚮標準流
17.5 使用cin進行輸入
17.5.1 輸入字符串
17.5.2 字符串的問題
17.5.3 ]]的返迴值
17.6 cin的其他成員函數
17.6.1 單字符輸入
17.6.2 從標準輸入讀取字符串
17.6.3 使用cin.ignore()
17.6.4 查看和插入字符:peek()和putback()
17.7 使用cout進行輸齣
17.7.1 刷新輸齣
17.7.2 執行輸齣的函數
17.7.3 控製符、標記和格式化指令
17.8 流和printf()函數之比較
17.9 文件輸入和輸齣
17.10 使用 ofstream
17.10.1 條件狀態
17.10.2 打開文件進行輸入和輸齣
17.10.3 修改ofstream打開文件時的默認行為
17.11 進製文件和文本文件
17.12 命令行處理
17.13 小結
17.14 問與答
17.15 作業
17.15.1 測驗
17.15.2 練習
第18章 創建和使用名稱空間
18.1 簡介
18.2 根據名稱解析函數和類
18.2.1 變量的可見性
18.2.2 鏈接性
18.2.3 靜態全局變量
18.3 創建名稱空間
18.3.1 聲明和定義類型
18.3.2 在名稱空間外定義函數
18.3.3 添加新成員
18.3.4 嵌套名稱空間
18.4 使用名稱空間
18.5 關鍵字using
18.5.1 using編譯指令
18.5.2 using聲明
18.6 名稱空間彆名
18.7 未命名的名稱空間
18.8 標準名稱空間std
18.9 小結
18.10 問與答
18.11 作業
18.11.1 測驗
18.11.2 練習
第19章 模闆
19.1 什麼是模闆
19.2 創建模闆定義
19.2.1 使用名稱
19.2.2 實現模闆
19.3 將實例化的模闆對象傳遞給函數
19.4 模闆和友元
19.4.1 非模闆友元類和函數
19.4.2 通用模闆友元類和函數
19.5 使用模闆對象
19.5.1 使用具體化函數
19.5.2 靜態成員和模闆
19.6 標準模闆庫
19.6.1 使用容器
19.6.2 理解順序容器
19.6.3 理解關聯容器
19.6.4 使用算法類
19.7 小結
19.8 問與答
19.9 作業
19.9.1 測驗
19.9.2 練習
第20章 處理錯誤和異常
20.1 程序中的各種錯誤
20.2 異常的基本思想
20.2.1 異常處理的組成部分
20.2.2 手工引發異常
20.2.3 創建異常類
20.3 使用try塊和catch塊
20.4 捕獲異常的工作原理
20.4.1 使用多條catch語句
20.4.2 異常層次結構
20.5 異常中的數據及給異常對象命名
20.6 異常和模闆,
20.7 沒有錯誤的異常
20.8 關於代碼蛻變
20.9 bug和調試
20.9.1 斷點
20.9.2 監視點
20.9.3 查看內存
20.9.4 查看匯編代碼
20.10 小結
20.11 問與答
20.12 作業
20.12.1 測驗
20.12.2 練習
第21章 雜項內容
21.1 預處理器和編譯器
21.2 預處理器指令#define
21.2.1 使用gdefine來定義常量
21.2.2 將#define用於檢測
21.2.3 預編譯器命令#lse
21.3 包含和多重包含防範
21.4 宏
21.5 字符串操縱
21.5.1 字符串化
21.5.2 拼接
21.6 預定義的宏
21.7 assert()宏
21.7.1 使用assert()進行試
21.7.2 assert()與異常之比較
21.7.3 副作用
21.7.4 類的不變量
21.7.5 打印中間值
21.7.6 宏與函數及模闆之比較
21.8 內聯函數
21.9 位運算
21.9.1 “與”運算符
21.9.2 “或”運算符
21.9.3 “異或”運算符
21.9.4 “求補”運算符
21.9.5 設置位
21.9.6 清除位
21.9.7 反轉位
21.9.8 位字段
21.10 編程風格
21.10.1 縮進
21.10.2 大括號
21.10.3 長代碼行和函數長度
21.10.4 格式化switch語句
21.10.5 程序文本
21.10.6 標識符命名
21.10.7 名稱的拼寫和大寫
21.10.8 注釋
21.10.9 設置訪問權限
21.10.10 類定義
21.10.11 包含文件
21.10.12 使用assert()
21.10.13 使用const
21.11 c++開發工作的下一步
21.11.1 從何處獲得幫助和建議
21.11.2 相關的c++主題:受控c++、c#和microsoft的net
21.11.3 保持聯係
21.12 小結
21.13 問與答
21.14 作業
21.14.1 測驗
21.14.2 練習
第3周復習
附錄a 二進製和十六進製
a.1 其他進製
a.2 不同進製之間的轉換
a.2.1 二進製
a.2.2 為什麼使用二進製
a.2.3 位、字節和半字節
a.2.4 什麼是kb
a.2.5 二進製數
a.3 十六進製
附錄b c++關鍵字
附錄c 運算符優先級
附錄d 答案
第1章
第2章
第3章
第4章
第5章
第6章
第7章
第8章
第9章
第10章
第11章
第12章
第13章
第14章
第15章
第16章
第17章
第18章
第19章
第20章
第21章
附錄e 鏈錶簡介
· · · · · · (
收起)
評分
☆☆☆☆☆
本科的課本,不要被它的名字所迷惑,絕對的c++入門好書
評分
☆☆☆☆☆
入門很好,帥譚浩強十幾條街
評分
☆☆☆☆☆
專業~
評分
☆☆☆☆☆
求職期看的,很簡明而全麵啊~比上學時的C++教材清晰、詳細多瞭
評分
☆☆☆☆☆
很多人從c++ primer開始著手~我嫌那本書太厚~挑瞭這本薄的~講解其實很詳細~但實例都比較簡單~以幫助理解概念為宗旨~C++速成的好書~
評分
☆☆☆☆☆
我看的是第7版的中文版,这时已经开始支持c++11了,在图书馆拿到这本书的时候主要是想多学一下STL,然后看到这本书不像其他教材,大量文字讲语法特性。在之前我差不多看完过c++prime,还有一些国内的教材,所以不需要再细致的看一遍语法,这本书刚好,字比较少,几乎每节都有例...
評分
☆☆☆☆☆
我看的是第7版的中文版,这时已经开始支持c++11了,在图书馆拿到这本书的时候主要是想多学一下STL,然后看到这本书不像其他教材,大量文字讲语法特性。在之前我差不多看完过c++prime,还有一些国内的教材,所以不需要再细致的看一遍语法,这本书刚好,字比较少,几乎每节都有例...
評分
☆☆☆☆☆
下了电子版的看。一向挺讨厌速成教程。不过这本内容体系其实还不错,主要是深浅各方面都有所提到,注重全貌,也有一定的关键细节。 翻译比较烂,尤其从第十章开始,文字感觉都不通顺了。 建议作为有点基础的复习提纲...查漏补缺,发现哪块儿薄弱然后再去找比较详细的教材比如...
評分
☆☆☆☆☆
这是我完完整整看完的第一本关于C++的书。其实我看的是第二版,Amazon上最新的是第5版。不知道这中间差距有多大。刚开始的部分比较容易,后面就越来越难了。好在书里面给的例子都是简单,又能说明问题的。而且将来遇到问题的时候还可以回来再看,所以也没有太压迫自己一定要看...
評分
☆☆☆☆☆
下了电子版的看。一向挺讨厌速成教程。不过这本内容体系其实还不错,主要是深浅各方面都有所提到,注重全貌,也有一定的关键细节。 翻译比较烂,尤其从第十章开始,文字感觉都不通顺了。 建议作为有点基础的复习提纲...查漏补缺,发现哪块儿薄弱然后再去找比较详细的教材比如...