范磊老師的從新手到高手C++全方位學習 教學+程式碼 (內含PDF電子書) 中文版(DVD一片裝)


 


 
軟體簡介:

《從新手到高手C++全方位學習》總結了十幾本C++圖書及教材的優點,擯棄了它們語
言拖遝、層次結構混亂等缺陷,從零開始、由淺入深、層層遞進、細緻而又詳盡地講
解C++這門大型編程語言。《從新手到高手C++全方位學習》知識系統全面,擁有字典
般的容量,可隨用隨查,涵蓋指標、面向物件、操作符重載、流、命名空問、範本、
異常處理、巨集等主流C++開發技術。為了使讀者能夠活學活用,《從新手到高手C++
全方位學習》針對重要的概念精心設計了438個實用範例,囊括大量經驗和技巧,即使
已從事C++工作多年的朋友,也能從中汲取新的養料。《從新手到高手C++全方位學習》
適合於從未學習過任何編程語言的新手,以及學習C++多年,仍舊不能融會貫通的讀者
,對於正在使用C++進行開發的程式師也有很好的參考價值。

目錄
  第1章初識C++
  1.1C++簡介
  1.2C++與C的區別
  1.3學習C++之前需要先學C嗎
  1.4C++與其他語言的區別
  1.5C++的版本以及安裝問題
  第2章做一個最簡短的C++程式
  2.1簡單的螢幕輸出小程式
  2.2輸出語句的使用
  2.3std::介紹
  2.4iostream與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.5wchar_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.8if語句
  5.8.1else語句
  5.8.2elseif語句
  5.8.3if語句的嵌套
  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.9const成員函數
  6.10構造函數
  6.11默認構造函數
  6.12析構函數
  6.13析構物件陣列
  第7章迴圈語句
  7.1迴圈語句的前身——goto語句
  7.2慎用goto語句
  7.3while語句
  7.3.1帶運算符的while語句
  7.3.2以字元為條件的while語句
  7.3.3限定while迴圈的次數
  7.3.4continue語句
  7.3.5break語句
  7.3.6永不休止的while迴圈
  7.4do…while迴圈
  7.5for迴圈
  7.5.1靈活的for迴圈
  7.5.2條件為空的for迴圈
  7.5.3執行為空的for迴圈
  7.5.4嵌套的for迴圈
  7.6switch語句
  7.6.1switch語句常見錯誤
  7.6.2switch的功能表功能
  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.5this指針
  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.1char型字串
  18.2string型字串
  18.2.1string型字串的賦值
  18.2.2string型字串的合併
  18.2.3string型字串的部分合併
  18.2.4string型字串的替換
  18.2.5string型字串的複製
  18.2.6string型字串的插入
  18.2.7string型字串的刪除
  18.2.8string型字串的查找
  18.2.9string型字串的比較
  18.2.10判斷string型字串是否為空
  18.3字串的使用
  18.3.1swap()交換兩個字串的內容
  18.3.2將string型字串轉為char型字串
  18.3.3char型字串與函數
  18.3.4函數如何返回字串
  18.4結構體
  18.4.1結構體的賦值
  18.4.2結構體與函數
  18.4.3結構體與string
  18.5string陣列與函數
  18.6流的使用
  18.6.1重載輸出運算符>
  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.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.7InterNode類的構造函數
  19.6.8InterNode類的插入函數
  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.6list類的getfirst()方法
  19.7.7list類的operator[]方法
  19.7.8list類的repeat()方法
  19.7.9list類的insert()方法
  19.7.10list類的find()方法
  19.7.11重寫的藥品管理全部程式
  19.8利用類的包含來實現代碼重用
  19.9私有繼承
  19.10什麼時候使用私有繼承,什麼時候使用包含
  19.11保護繼承
  第20章友元類與嵌套類
  20.1友元類
  20.2嵌套類
  第21章流
  21.1流的操作
  21.1.1緩衝
  21.1.2流和緩衝區
  21.1.3標準輸入輸出物件
  21.1.4重定向
  21.1.5對象代表流
  21.2用cout輸出
  21.2.1重載運算符operator