1.1 C++簡介
1.2 C++和C的區別
1.3學C++之前需要先學C嗎?
1.4 C++與其他語言的區別
1.5 C++版本及安裝問題。
第二章制作壹個最短的C++程序。
2.1簡單屏幕輸出小程序
2.2輸出語句的使用
2.3標準:簡介
iostream和iostream的區別. h
2.5重名問題
2.6註意事項
第3章對函數有壹個初步的了解。
3.1簡單函數
3.2傳遞函數參數
3.3函數返回值。參數和變量
3.4函數的聲明和定義
3.5局部變量
3.6全局變量
第4章C++數據類型
4.1變量的定義
4.2將變量和數據存儲在內存中。
4.3布爾變量
4.4字符變量
4.5 wchar_t雙字節變量
4.6整數概述
4.7整數變量的定義
4.8浮點變量
4.9常數
4.10枚舉常數
第五章if語句和邏輯運算符
5.1語句定義
5.2區塊的定義
5.3表達的定義
5.4操作員的定義
5.4.1賦值運算符定義
5.4.2數學運算符的定義
5.4.3賦值運算符和數學運算符的組合
5.5自加和自減
5.5.1前綴
後部位置
5.6表達的優先權
5.7關系運算符
5.8 if語句
5.8.1其他語句
else if語句
5 . 8 . 3 if語句嵌套
5.9邏輯運算符及其使用
5.9.1邏輯與
邏輯或
邏輯“非”
邏輯運算符的優先級
5.9.5表達式的真假關系
5.10三方操作員
5.10.1三方運算符的優先級
5.10.2三方運算符的使用
5.10.3三方運營商的類型
5.10.4在字符變量中使用三方運算符
5.11復雜的嵌套if語句
第六章面向對象
6.1面向對象編程語言的主要特點
6.2類。對象和成員
6.3類。對象和成員的用法和區別
6.3.1聲明壹個類
6.3.2命名習慣
定義壹個對象
6.3.4類和對象的區別
6.3.5對象和成員之間的關系
6.3.6不要給類賦值。
6.3.7對象只能調用存在於類中的成員。
6.4公有制
6.5私人所有權
6.6成員函數的聲明和定義
6.7為什麽要把成員函數的聲明和定義分開?
6.7.1通用內嵌函數
成員內聯函數
6.8將類聲明和定義保存在頭文件中。
6.9常量成員函數
6.10建造師
6.11默認構造函數
6.12析構函數
6.13銷毀目標陣列
第7章循環語句
——goto語句,7.1循環語句的前身
7.2謹慎使用goto語句
7.3 while語句
7.3.1 while語句帶運算符
7.3.2以字符為條件的while語句
7.3.3限制while循環的次數。
繼續陳述
中斷聲明
7.3.6永不結束的while循環
7.4 do… while循環
7.5 for循環
7.5.1靈活循環
7.5.2對於空載條件下的回路
7.5.3執行空for循環。
嵌套的for循環
7.6開關語句
7 . 6 . 1 Switch語句中的常見錯誤
開關的菜單功能
7.7摘要
第八章指針
8.1什麽是地址
8.2使用指針保存地址
8.2.1空指針
8.2.2指針和變量類型
8.2.3使用指針訪問值。
指針地址。指針保存的地址和地址的值。
8.2.5指針對數值的操作
8.2.6替換指針保存的地址。
8.3為什麽要使用指針?
堆棧和堆
8.3.2使用指針在堆中創建空間。
8.3.3用指針刪除堆中的空間。
8.4動態存儲器
8.4.1內存泄漏
8.4.2在堆中創建對象
8.4.3刪除堆中的對象
8.4.4訪問堆中的數據成員
8.4.5在構造函數中打開內存空間
8.4.6堆棧和堆中對象的區別
8.5本指針
8.6指針的常見錯誤
8.7指針操作
8.7.1指針加減運算
8.7.2指針賦值操作
8.7.3指針減法運算
8.7.4指針比較操作
8.8指針
8.8.1常量指針
指向常數的指針
8.8.3常量指針指向常量
8.9總結
第九章引用
9.1什麽是參考?
9.1.1引用的地址
9.1.2引用是壹個別名常量。
9.1.3參考對象
9.1.4空引用
9.2函數的參數傳遞
9.2.1按值傳遞函數參數。
9.2.2通過指針傳遞函數參數。
9.2.3通過引用傳遞函數參數
9.2.4讓函數返回多個值。
9.3傳遞物體
9.3.1使用值來傳遞對象
9.3.2使用指針傳遞對象。
9.3.3使用常量指針傳遞對象。
9.3.4使用引用傳遞對象
9.3.5是使用引用還是指針?
9.3.6引用和指針可以壹起使用。
9.4報價時應註意的問題
9.4.1引用中容易出現的錯誤
9.4.2引用堆中由值返回的對象。
9.4.3引用別名返回的堆中的對象。
9.4.4在創建它的地方,它被釋放。
9.5總結
第10章深入功能
10.1函數重載
10.1.1普通函數的重載
10.1.2成員函數的重載
10.2功能的默認參數
10.3重載的構造函數
10.3.1成員變量的初始化
10.3.2成員變量的初始化和構造函數
10.3.3復制構造函數
10.3.4建造者和新操作員
10.3.5進壹步討論默認構造函數
10.4析構函數和刪除運算符
10.4.1默認析構函數
10.4.2調用構造函數進行類型轉換。
10.5淺復制構造函數
10.6深度復制構造函數
第11章操作員重載
運算符11.1重載。
11.2在成員函數中實現自加
11.3重載前面的自加運算符
11.4創建臨時對象
11.5創建無名臨時對象
11.6取消創建臨時對象。
11.7重載後自加運算符
11.8重載加法函數運算符+
11.9重載賦值運算符=
11.10轉換類型運算符
11.10.1復習通過調用構造函數實現的類型轉換。
11.10.2通過構造函數將變量轉換成對象的成員變量。
11.10.3由運算符關鍵字轉換而來。
11.11什麽可以超載,什麽不可以超載?
第12章繼承
12.1什麽是繼承和派生?
12.1.1復雜的繼承和派生
12.1.2如何在C++中實現繼承和派生
12.1.3繼承的類型和語法
12.1.4單壹繼承
12.2公共型、保護型和私人型
12.3訪問權限
12.4多重繼承
12.5繼承的建立和破壞
12.6向基類構造函數傳遞參數
12.7繼承和重載的二義性
12.7.1多重繼承容易產生歧義。
重載12.7.2中的壹些歧義問題
12.7.3所有權的模糊性
12.7.4減少歧義帶來的混亂
12.7.5虛基類不會產生歧義。
12.8匯總
第13章虛函數
13.1對象指針
13.2虛函數
13.3拳擊比賽
13.4繼承可以實現多態性嗎?
編譯時13.5的靜態綁定
13.6運行時的靜態綁定
編譯時動態綁定13.7
運行時動態綁定13.8
13.9調用虛函數
13.9.1在虛函數中調用成員函數
13.9.2三種調用虛函數方式的比較
13.10繼承的虛函數還是虛函數。
13.11系統如何調用虛函數?
13.12在虛函數中使用成員名限定
13.13虛擬析構函數
第14章陣列
14.1數組的基本用法
14.1.1什麽是數組?
14.1.2數組元素
14.1.3數組下標越界。
14.1.4反相輸出
將數組的下標定義為常量。
14.1.6手動操作數組元素
14.1.7數組的初始化
14.2陣列的用途
14.2.1求考試平均分。
14.2.2兔子繁殖問題
14.2.3數字排序問題
14.3數組在內存中的分布
14.4輸出數組名
14.5數組名稱和函數
14.6發送和接收
14.7數組和函數
14.7.1函數傳遞參數示例1-求壹個數組中所有元素的和
14.7.2函數參數傳遞示例2-增量法查找數據
14.7.3函數參數傳遞示例3-用二分法查找數據
14.7.4函數傳遞參數例4——判斷數組是否按順序排列。
14.7.5函數傳遞參數例5——判斷數組排列後執行不同的函數。
在對象中傳遞14.8數組的參數
14.9數組對象
14.10初始化數組對象的成員變量
14.11指針數組
14.12枚舉常數和數組..
14.13多維數組
14.14多維數組的初始化
14.15字符數組
重載的數組下標運算符
第15章鏈表
15.1聲明鏈表結構。
15.2簡單書單
15.2.1圖書鏈表
15.2.2類鏈表
15.3動態鏈表
15.3.1動態鏈表的建立
15.3.2解決輸入字符導致的死循環問題。
15.3.3動態鏈表的顯示
15.3.4刪除動態鏈表
15.3.5插入動態鏈表
15.3.6鏈表統計
15.3.7使用鏈表
15.4動態鏈表的完整列表
15.5鏈表用例-走迷宮
15.5.1正在創建Windows應用程序項目
15.5.2創建窗口
15.5.3加載圖片
15.5.4手柄是什麽?
15.5.5顯示圖片
15.5.6動畫
15.5.7鍵盤控制字符移動。
15.5.8迷宮墻
走迷宮
15.5.10用鏈表記錄行走路線。
第16章多態性
為什麽要使用多重繼承?
16.2向派生類添加函數
16.3使用多重繼承
16.4多重繼承中初始化構造函數的參數
16.5多個子基類* * *共享壹個父基類。
16.6虛擬基類
謹慎使用多重繼承。
16.8空虛函數
16.9抽象類和純虛函數
16.10純虛函數
16.11復雜抽象結構
第17章特殊階層的成員
17.1靜態成員變量
17.2私有靜態成員變量
17.3靜態成員函數
17.4靜態成員的使用
17.5函數指針
17.6函數指針數組
17.7函數指針也可以作為函數參數。
17.8用typedef簡化了函數指針的聲明和定義。
17.9類的函數指針
17.10成員函數指針數組
第18章字符串
18.1字符串
18.2字符串字符串
字符串類型18.2.1的賦值
18.2.2字符串類型字符串的合並
18.2.3字符串的部分合並
18.2.4字符串類型字符串的替換
18.2.5字符串類型字符串的副本
18.2.6字符串類型字符串的插入
18.2.7刪除字符串。
18.2.8搜索字符串類型字符串
字符串類型比較18.2.9
18.2.10判斷字符串string是否為空。
18.3字符串的使用
18.3.1 swap()交換兩個字符串的內容。
18.3.2將字符串轉換成字符字符串。
18.3.3字符串和函數
18.3.4函數如何返回壹個字符串?
18.4結構
18.4.1結構的分配
18.4.2結構和功能
18.4.3結構和字符串
18.5字符串數組和函數
18.6流的使用
18.6.1重載輸出運算符< & lt
18.6.2友重載輸出運算符。
18.6.3重載自加運算符的執行順序
18.6.4重載輸入運算符>;& gt
寫壹個字符串類
18.7.1創建字符串類
18.7.2創建可自動調整大小的字符串對象。
18.7.3限制數組越界。
18.7.4利用復制構造函數實現字符串的賦值函數。
18.7.5用重載賦值運算符函數實現實字符串賦值函數。
使用重載輸出運算符運算符
18.7.7使用重載輸入運算符>:>函數的作用是:實現字符串的輸入。
18.7.8使用重載比較運算符比較字符串。
18.7.9在string類中增加添加字符串的功能。
18.7.10將字符串的+=函數添加到string類。
字符串類完成後18.7.11
第19章代碼復用
19.1包含
19.2將字符串類作為包含類。
19.3是為book類重載執行加法運算的成員函數。
19.4包括對系統造成的消耗。
19.5通過別名傳遞圖書對象
19.6包含壹個指向另壹個類的指針。
19.6.1數據分類日期
19.6.2鏈表類節點
19.6.3標簽類鏈接列表
19.6.4頭節點類頭節點
19.6.5尾節點的尾節點類
19.6.6中間節點節間類
19.6.7節間類的構造函數
19.6.8節間類的插入函數
19.6.9完整計劃
19.7將頭節點、中間節點和尾節點合並為壹個節點。
19.7.1數據分類日期
19.7.2從Date類派生的Book類
19.7.3本草,壹種由棗衍生而來的藥物。
19.7.4創建壹個節點類。
19.7.5用於操作節點類的列表類。
19.7.6列表類的Getfirst()方法
19.7.7列表類的Operator[]方法
19.7.8列表類的Repeat()方法
19.7.9列表類的Insert()方法
19.7.10列表類的Find()方法
19.7.11重寫了藥品管理的所有程序
19.8使用類的包含來實現代碼重用。
19.9私人繼承
何時使用私有繼承,何時使用包含
19.11保護繼承
第二十章朋友和嵌套類
20.1朋友類
20.2嵌套類
第265438章+0流量
21.1流的操作
21.1.1緩沖區
21.1.2個流和緩沖區
21.1.3標準輸入輸出對象
21.1.4重定向
21.1.5對象表示流。
21.2輸出,帶cout
21.2.1重載運算符< & lt
21.2.2清除緩沖器
21.2.3關於輸出的相關函數
21.2.4設置輸出字段寬度。
21.2.5設置填充字段
21.2.6設置浮點數的顯示精度。
輸出結束時為21.2.7 0
21.2.8設置標誌
21.2.9 setf()函數原型
21.2.10所有15標誌和3個指示標誌。
21.2.11 unset()函數
21.2.12標準控制符號
21.2.13 iomanip頭文件和標準控制器
21.3輸入帶cin。
輸入21.3.1字符串
21.3.2字符串的輸入問題
21.3.3 get()函數
21.3.4帶有字符引用參數的get()函數
21.3.5兩個參數的get()函數
21.3.6帶三個參數的get()函數
21.3.7 getline()函數
21.3.8 read()函數
21.3.9 gcount()函數
21.3.10 peek()函數
21 . 3 . 11 putback()函數
21.4文件的輸入輸出
21.4.1輸出數據到文件
21.4.2讀取文件中的數據
21.4.3讀取空格和空格後的字符。
21.5多種打開文件的方式
檢查文件是否打開。
21.7二進制文件和文本文件
21.7.1以文本形式輸出到文件。
21.7.2以二進制形式輸出到文件。
21.8打開多個文件
21.9命令行處理文件
21.10使用命令行處理文件例程
21.11指定讀取文件中的數據。
21.12輸出數據到文件的指定位置。
21.13 seekp()和seekg()函數的組合
21.14臨時文件
21.15流字符串iostream類
第二十二章名稱空間
22.1什麽是命名空間
22.2創建名稱空間
22.2.1擴展命名空間的內容
22.2.2嘗試在名稱空間之外定義函數。
22.2.3命名空間中的成員都是公共的。
22.3使用名稱空間
22.4使用關鍵字using
22.5給妳的名稱空間壹個不同的名字。
22.6未命名的名稱空間
未命名的命名空間和全局變量之間的差異
22.6.2未命名的命名空間和靜態的區別
22.6.3未命名空間的區別。靜態和外部
22.7標準命名空間std
第二十三章模板
23.1什麽是模板
23.2重載模板
23.3混凝土功能模板
23.3.1函數模板不能重載。
23.3.2混凝土功能模板解決超載問題
23.3.3物化函數模板和實例化模板函數
23.4壹般功能。功能模板和具體功能模板的優先級
23.4.1常用函數和函數模板執行順序
23.4.2功能模板和具體功能模板的執行順序
23.4.3具體功能模板和普通功能的優先級
23.5功能模板的匹配
23.6類別模板的定義
23.7復雜類模板
23.8數組模板
23.9對象數組模板
23.10多參數模板
23.11為模板參數提供默認值。
23.12約束模板
23.13模板成員
23.14使用模板作為參數
23.15模板和好友
23.15.1非模板友誼類和友誼函數
23.15.2通用模板友元類和友元函數
23.15.3特定模板好友功能
23.16額外臨時對象
23.17靜態成員和模板
23.18標準模板庫
23.18.1集裝箱
23.18.2順序集裝箱
23.18.3相關容器
23.18.4算法類
23.18.5匯總
第24章異常和錯誤處理
24.1異常
24.2設置多個catch語句
24.3例外的衍生
24.4創建異常類的成員函數
24.5異常類的虛函數
24.6異常類和模板之間的關系
第二十五章補充內容
25.1預處理過程
25.1.1預處理指令
25.1.2 #包含指令
25.1.3 #定義指令
25.1.4用#define指令替換常量
25.1.5用#define定義壹個特定的字符串,並測試它。
25.1.6 #ifdef。#define和#endif用途
25.1.7 #用參數定義
25.1.8宏和內嵌函數
25.1.9 #運算符
25.1.10 #運算符
25.1.11 # undef指令
25.1.12 #if指令
25.1.13 #endif指令
25.1.14 #if定義指令
25.1.15 #ifdef和#ifndef指令
25.1.16 #elif指令
25.1.17 #錯誤指令
25.1.18 #行指令
25.1.19 #雜註指令
25.2預定義宏
25.3 assert()宏
25.4試著寫壹個簡單的assert()宏。
25.5不能為0的變量
25.6使用宏函數輸出表達式的值。
調試的級別
25.8 C++類型轉換和運行時類型信息(RTII)
25.8.1動態型轉換器
靜態類型轉換
25.8.3類型轉換的重新解釋
常量類型轉換
運行時類型信息
25.9關鍵字可變
25.10關鍵字常量
25.11關鍵字可變
25.12聯合數據類型聯合
25.13聯合數據類型的內存使用
25.14匿名聯合體
25.15再談指針
25.15.1指針和數組
25.15.2指針操作多維數組
25.15.3多維數組指針作為函數參數。
指向25.15.4字符串的指針
25.15.5接受字符串指針的函數
指向字符串的指針變量和字符數組之間的差異
25.15.7指向函數的指針
25.15.8指針指向函數的目的
25.15.9指針數組
25.15.10指針對指針
25.16位操作
25.16.1按位與“&”操作字符
25.16.2按位或“|”運算符
25.16.3異或運算符
將“~”運算符反轉
25.16.5左移"
25.16.6右移" >;>運算符
25.16.7復合位運算符
不同長度數的25.16.8位運算
25.16.9位操作示例
25.17位字段
25.18地區差異
25.18.1區域設置類
默認區域代表制或全球區域代表制
25.18.3時間和地理設置
25.18.4時間中區域設置和時間功能的搭配. h
25.18.5區域表示場所和流的搭配。
25.18.6區域表示區域設置和模板的搭配。
附錄A ASCII碼對照表
附錄B C++中的關鍵字
附錄C C++常見頭文件列表