零起點學通C++視頻C++基礎入門教程初學者必備
零起點學通C++視頻C++基礎入門教程初學者必備
全套教程約合3.8G!已經更新到第20章!配帶源碼+PDF講義視頻為高清swf格式!目錄:第1章 初識C++
1.1 C++簡介
1.2 C++與C的區別
1.3 學習C++之前需要先學C嗎
1.4 C++與其他語言的區別
1.5 C++的版本以及安裝問題
第2章 做一個最簡短的C++程序
2.1 簡單的屏幕輸出小程序
2.2 輸出語句的使用
2.3 std::介紹
2.4 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 枚舉型常量
第5章 if語句與邏輯運算符
5.1 語句的定義
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 表達式的優先級
5.7 關系運算符
5.8 if語句
5.8.1 else語句
5.8.2 else if語句
5.8.3 if語句的嵌套
5.9 邏輯運算符及其使用
5.9.1 邏輯“與”
5.9.2 邏輯“或”
5.9.3 邏輯“非”
5.9.4 邏輯運算符的優先級
5.9.5 運算式的真假關系
5.10 三目運算符
5.10.1 三目運算符的優先問題
5.10.2 三目運算符的使用問題
5.10.3 三目運算符的型別問題
5.10.4 三目運算符在字符型變量中的使用
5.11 復雜嵌套的if語句
第6章 面向對象
6.1 面向對象程序語言的主要特征
6.2 類. 對象和成員
6.3 類. 對象和成員的使用方法及區別
6.3.1 聲明一個類
6.3.2 命名習慣
6.3.3 定義一個對象
6.3.4 類與對象的區別
6.3.5 對象與成員的關系
6.3.6 不要給類賦值
6.3.7 對象只能調用類中存在的成員
6.4 公有
6.5 私有
6.6 成員函數的聲明和定義
6.7 為什么將成員函數的聲明和定義分開
6.7.1 普通內聯函數
6.7.2 成員內聯函數
6.8 將類聲明和定義部分保存在頭文件中
6.9 const成員函數
6.10 構造函數
6.11 默認構造函數
6.12 析構函數
6.13 析構對象數組
第7章 循環語句
7.1 循環語句的前身——goto語句
7.2 慎用goto語句
7.3 while語句
7.3.1 帶運算符的while語句
7.3.2 以字符為條件的while語句
7.3.3 限定while循環的次數
7.3.4 continue語句
7.3.5 break語句
7.3.6 永不休止的while循環
7.4 do… while循環
7.5 for循環
7.5.1 靈活的for循環
7.5.2 條件為空的for循環
7.5.3 執行為空的for循環
7.5.4 嵌套的for循環
7.6 switch語句
7.6.1 switch語句常見錯誤
7.6.2 switch的菜單功能
7.7 總結
第8章 指針
8.1 什么是地址
8.2 用指針來保存地址
8.2.1 空指針
8.2.2 指針與變量類型
8.2.3 用指針來訪問值
8.2.4 指針地址. 指針保存的地址和該地址的值
8.2.5 指針對數值的操作
8.2.6 更換指針保存的地址
8.3 為什么使用指針
8.3.1 棧和堆
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 this指針
8.6 指針的常見錯誤
8.7 指針運算
8.7.1 指針的加減運算
8.7.2 指針的賦值運算
8.7.3 指針的相減運算
8.7.4 指針的比較運算
8.8 指針
8.8.1 常量指針
8.8.2 指向常量的指針
8.8.3 指向常量的常指針
8.9 總結
第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 使用const指針來傳遞對象
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 構造函數和new運算符
10.3.5 再談默認構造函數
10.4 析構函數和delete運算符
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 重載加法運算函數operator+
11.9 重載賦值運算函數operator=
11.10 轉換類型運算符
11.10.1 溫習調用構造函數實現的類型轉換
11.10.2 通過構造函數將變量轉換為一個對象的成員變量
11.10.3 通過operator關鍵字進行轉換
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.5 將數組的下標定義為常量
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 函數傳參實例一——求數組所有元素的和
14.7.2 函數傳參實例二——用遞增法查找數據
14.7.3 函數傳參實例三——用二分法查找數據
14.7.4 函數傳參實例四——判斷數組是否按照順序排列
14.7.5 函數傳參實例五——判斷數組排列方式后執行不同的函數
14.8 數組在對象中的傳參
14.9 數組對象
14.10 在數組對象中初始化成員變量
14.11 指針數組
14.12 枚舉常量與數組..
14.13 多維數組
14.14 多維數組的初始化
14.15 字符數組
14.16 重載數組下標操作符
第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.9 走迷宮
15.5.10 用鏈表記錄行走路線
第16章 多態性
16.1 為什么要使用多重繼承
16.2 在派生類中增加函數
16.3 使用多重繼承
16.4 多重繼承中初始化構造函數的參數
16.5 多個子基類共享一個父基類
16.6 虛基類
16.7 慎用多重繼承
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 char型字符串
18.2 string型字符串
18.2.1 string型字符串的賦值
18.2.2 string型字符串的合并
18.2.3 string型字符串的部分合并
18.2.4 string型字符串的替換
18.2.5 string型字符串的復制
18.2.6 string型字符串的插入
18.2.7 string型字符串的刪除
18.2.8 string型字符串的查找
18.2.9 string型字符串的比較
18.2.10 判斷string型字符串是否為空
18.3 字符串的使用
18.3.1 swap() 交換兩個字符串的內容
18.3.2 將string型字符串轉為char型字符串
18.3.3 char型字符串與函數
18.3.4 函數如何返回字符串
18.4 結構體
18.4.1 結構體的賦值
18.4.2 結構體與函數
18.4.3 結構體與string
18.5 string數組與函數
18.6 流的使用
18.6.1 重載輸出運算符<<
18.6.2 友元的方式重載輸出運算符
18.6.3 重載自加運算符的執行次序
18.6.4 重載輸入運算符>>
18.7 編寫一個String類
18.7.1 創建String類
18.7.2 創建可自動調節大小的String類字符串對象
18.7.3 限制數組越界
18.7.4 用復制構造函數實現字符串的賦值功能
18.7.5 用重載賦值運算符函數實現真正的字符串賦值功能
18.7.6 用重載輸出運算符operator<<()函數實現字符串的輸出
18.7.7 用重載輸入運算符operator>>()函數實現字符串的輸入
18.7.8 用重載比較運算符實現字符串的比較
18.7.9 為String類添加字符串的相加功能
18.7.10 為String類添加字符串的+=功能
18.7.11 完成后的String類
第19章 代碼重用
19.1 包含
19.2 將String類作為包含類
19.3 為book類重載執行相加運算的成員函數
19.4 包含對系統造成的消耗
19.5 按別名傳遞book對象
19.6 包含指向另一個類的指針
19.6.1 數據類Date
19.6.2 鏈表類Node
19.6.3 標簽類linkelist
19.6.4 頭節點類HeadNode
19.6.5 尾節點TailNode類
19.6.6 中間節點InterNode類
19.6.7 InterNode類的構造函數
19.6.8 InterNode類的插入函數
19.6.9 全部程序
19.7 將頭節點. 中間節點和尾節點合并為一個節點
19.7.1 數據類Date
19.7.2 由Date類派生的圖書類Book
19.7.3 由Date類派生的藥品類medica
19.7.4 創建一個節點類Node
19.7.5 用來操作節點類Node的list類
19.7.6 list類的getfirst()方法
19.7.7 list類的operator[]方法
19.7.8 list類的repeat()方法
19.7.9 list類的insert()方法
19.7.10 list類的find()方法
19.7.11 重寫的藥品管理全部程序
19.8 利用類的包含來實現代碼重用
19.9 私有繼承
19.10 什么時候使用私有繼承,什么時候使用包含
19.11 保護繼承