齣版者的話
譯者序
前言
第1章 C++概述與軟件開發
1.1 什麼是C語言和C++
1.1.1 C和C++曆史迴顧
1.1.2 C/C++是一門編譯語言
1.1.3 為什麼許多程序員都選擇C++
1.2 什麼是麵嚮對象
1.2.1 C++程序並不一定是麵嚮對象的
1.2.2 一個簡單的麵嚮對象程序示例
1.2.3 麵嚮對象的軟件更有優勢
1.3 結構化設計與麵嚮對象設計
1.3.1 ATM——結構化設計
1.3.2 采用麵嚮對象方法的ATM——究竟是誰的任務
1.3.3 汽車維護——結構化設計
1.3.4 采用麵嚮對象方法的汽車維護——究竟是誰的任務
1.4 軟件開發技術概述
1.5 問題發現與解決
復習題
第2章 C++的入門知識
2.1 編程基礎
2.1.1 算法設計
2.1.2 正確的軟件開發步驟
2.2 專業術語及工程創建
2.3 C++程序的一般格式
2.3.1 “Hello World!”程序
2.3.2 “How’s the Weather?”程序
2.4 程序的數據及數據類型
2.4.1 C++的數據類型
2.4.2 容器=數據類型,標簽=變量名
2.4.3 數據類型修飾符
2.4.4 問題分析:整型數據究竟有多大
2.5 C++中的變量聲明
2.5.1 C++的命名規則
2.5.2 在哪裏聲明變量
2.6 C++中的運算符
2.6.1 計算路程的程序
2.6.2 從鍵盤輸入程序所需數據
2.6.3 賦值運算符
2.6.4 運算符的優先級
2.6.5 數據類型及其存儲的值
2.6.6 算術運算符
2.6.7 自增運算符和自減運算符
2.6.8 復閤賦值運算符
2.7 #define、const和數據類型轉換
2.7.1 #define預處理指令
2.7.2 const修飾符
2.7.3 const比#define好嗎
2.7.4 數據類型轉換
2.8 關於鍵盤輸入和屏幕輸齣的更多內容
2.8.1 轉義序列
2.8.2 ios格式標記
2.8.3 流的IO控製符
2.9 開始使用類和對象、C++string類
2.10 練習
復習題
第3章 控製語句和循環
3.1 關係運算符和邏輯運算符
3.2 if語句
3.2.1 if-else語句
3.2.2 問題分析:在if語句中使用大括號
3.2.3 if-else if-else語句
3.2.4 低效的編程方法
3.2.5 if-else程序示例
3.2.6 嵌套if-else語句
3.2.7 條件運算符“?”
3.3 switch語句
3.4 循環
3.4.1 括號的用法
3.4.2 無限循環
3.5 for循環
3.5.1 不要改變循環索引
3.5.2 for循環示例
3.6 while循環
3.7 do while循環
3.8 跳轉語句
3.8.1 break語句
3.8.2 continue語句
3.9 問題發現與解決
3.9.1 五個常見錯誤
3.9.2 調試程序
3.10 C++類與vector類
3.11 總結
3.12 練習
復習題
第4章 函數一:基礎
4.1 C++中的函數
4.1.1 隻由一個main函數構成的程序
4.1.2 包含多個函數的程序
4.1.3 函數是個好東西
4.1.4 三個重要的問題
4.2 函數:基本格式
4.3 函數的編寫要求
4.3.1 你想住在C++旅館中嗎
4.3.2 函數為先
4.3.3 函數聲明或函數原型
4.3.4 函數定義、函數標題行與函數體
4.3.5 函數調用
4.3.6 傳值調用
4.3.7 問題分析:未聲明的標識符
4.4 重載函數
4.5 具有默認輸入參數列錶的函數
4.6 局部變量、全局變量和靜態變量
4.6.1 局部變量
4.6.2 塊範圍
4.6.3 全局變量
4.6.4 危險的全局變量
4.6.5 問題分析:全局變量y0、y1與cmath
4.6.6 靜態變量
4.7 C++stringstream類
4.8 總結
4.9 練習
復習題
第5章 函數二:變量地址、指針以及引用
5.1 數據變量和內存
5.1.1 sizeof運算符
5.1.2 預留內存
5.1.3 計算機內存和十六進製
5.2 取地址運算符&
5.3 指針
5.4 函數、指針以及間接運算符
5.4.1 解決思路
5.4.2 指針和函數
5.4.3 有效處理大型數據
5.5 函數和引用
5.5.1 復習:兩種機製
5.5.2 為什麼要強調指針的重要性
5.6 queue類
5.7 總結
5.8 練習
復習題
第6章 數組
6.1 使用單個數據變量
6.2 數組基礎
6.2.1 數組的索引值從0開始
6.2.2 使用for循環和數組來實現的電話賬單程序
6.2.3 數組的聲明和初始化
6.2.4 數組越界==嚴重的問題
6.2.5 vector與數組的比較
6.3 數組和函數
6.3.1 每個數組都有一個指針
6.3.2 數組指針
6.3.3 嚮函數傳遞數組:最開始的引用調用
6.3.4 利用數組和函數生成隨機數並進行排序
6.4 C字符串,也稱為字符數組
6.4.1 字符數組的初始化
6.4.2 null字符
6.4.3 C字符串的輸入
6.4.4 C++中提供的字符數組函數
6.5 多維數組
6.5.1 二維數組的初始化
6.5.2 嵌套的for循環和二維數組
6.5.3 利用二維數組來實現Bingo遊戲
6.6 多維數組和函數
6.6.1 改進的Bingo卡片程序
6.6.2 白雪公主:利用二維數組來存儲姓名
6.7 利用數據文件對數組賦值
6.8 總結
6.9 練習
復習題
第7章 類和對象
7.1 我們所瞭解的類和對象
7.2 編寫自己的類
7.2.1 入門實例:自定義日期類
7.2.2 第一個C++類:Date類
7.2.3 揭開類的生命之謎
7.2.4 set和get函數的作用與VolumeCalc類
7.2.5 PICalculator類
7.3 作為類成員的對象
7.4 類的析構函數
7.5 對象數組
7.6 重載運算符與對象
7.7 指針、引用和類
7.7.1 指針和引用實例
7.7.2 處理日期和時間的程序實例
7.8 總結
7.9 練習
復習題
第8章 繼承和虛函數
8.1 為什麼繼承如此重要
8.1.1 IceCreamDialog實例
8.1.2 Counter類實例
8.2 繼承基礎
8.2.1 Counter和DeluxeCounter實例
8.2.2 保護成員
8.2.3 員工、老闆和CEO
8.3 訪問控製符的規範和多繼承
8.4 繼承、構造和析構
8.4.1 構造函數和析構函數迴顧
8.4.2 基類和派生類的默認構造函數——沒有參數
8.4.3 在重載的構造函數中使用參數
8.4.4 基類和派生類的析構函數
8.4.5 醫生也是人
8.4.6 關於派生類和基類構造函數的規則
8.5 多態和虛函數
8.5.1 多態——同一個接口,不同的行為
8.5.2 什麼是虛函數
8.5.3 虛函數的作用
8.6 總結
8.7 練習
復習題
附錄A 學習使用Visual C++2005Express Edition
附錄B C++關鍵字錶
附錄C C++運算符
附錄D ASCII碼
附錄E 位、字節、內存和十六進製錶示
附錄F 文件輸入/輸齣
附錄G 部分C++類
附錄H 多文件程序
附錄I Microsoft visual C++2005Express Edition的調試器
術語錶
· · · · · · (
收起)