
C++程序設計(面向對象進階)培訓
第1單元:C++概覽
第01節:C++編程范式與現代C++標準
第02節:學習C++:參考書和編程環境
第03節:Visual Studio集成開發環境
第04節:Eclipse CDT集成開發環境
第05節:如何快速學習本課程?
第06節:常見問題解答
第1單元課前測試:C語言水平評估 (英文題目;選做)
作業1:測試你的C++編譯器支持的標準
作業2:【選做】安裝Eclipse For C/C++或者Eclipse CDT版本
第2單元:C++程序基礎
第00節:單元導學
第01節:C++源代碼和編碼規范
第02節:Aloha World代碼示例
第03節:名字空間
第04節:編譯C++程序
第05節:處理錯誤
第06節:輸入和輸出
第2單元作業1:在線編程-輸入與輸出
第2單元作業2:在線編程-名字空間
第3單元: C語法的增強及對應的C++11特性
第00節:單元導學
第01節:引用、[C++11]空指針與動態內存分配
第02節:數據類型與轉換、[C++11]列表初始化
第03節:[C++11]自動類型推導:類型系統、auto與decltype
第04節:簡化的C++內存模型
第05節:常量與指針
第06節:特殊函數:重載、默認參數值與內聯
第07節:[C++11]基于范圍的for循環
第08節:[C++17]帶有初始化器的if和switch語句
第3單元作業1:在線編程-引用作為函數參數
第3單元作業2:在線編程-重載函數
第4單元: 對象和類(基礎)
第00節:單元導學
第01節:用類創建對象
第02節:對象拷貝以及分離聲明與實現
第03節:對象指針、對象數組以及函數參數
第04節:抽象、封裝與this指針
第05節:[C++11]類數據成員的初始化
第06節:string類以及[C++11]std::array類
4.1. 在線編程-解析整數范圍
4.2. 在線編程-【選做】解析有干擾字符的整數范圍
4.3. 在線編程-遍歷對象數組
第5單元: 對象和類(高級)
第01節:[C++11]斷言與常量表達式
第02節:代理構造、不可變對象與靜態成員
第03節:析構、友元與深淺拷貝
第04節:vector類和[C++14]字符串字面量
第05節:例子
第06節:[C++17]結構化綁定
5.1. 在線編程-代理構造函數1
5.2. 在線編程-代理構造函數2
第6單元: 繼承和多態
第00節:單元導學
第01節:繼承與構造
第02節:名字隱藏與重定義
第03節:覆寫與運行時多態
第04節:抽象類與動態類型轉換
2. 在線編程-繼承中的析構函數和靜態成員
3. 在線編程-多態和純虛函數
1. 在線編程-繼承中的構造函數
Lab1
第00節:單元導學
第01節:Project 1 - Classes & Objects
第02節: Project 2 - Inheritance, Ctor, Dtor & Static Member
第7單元:文件輸入輸出流
第00節:單元導學
第01節:[C++17]文件系統(filesystem)
第02節:文件I/O流的基本用法
第03節:格式化輸出與I/O流函數
第04節:二進制輸入輸出
第05節:隨機訪問文件
7.1. 互評作業-打開關閉文件并判斷文件是否存在
第8單元:運算符重載
第00節:單元導學及準備知識
第01節:運算符重載與平面向量類
第02節:重載二元運算符和數組下標運算符
第03節:重載一元運算符
第04節:重載流操作運算符與類型轉換運算符
第05節:重載賦值運算符及其它總結
8.1 在線編程-關系運算符重載
8.2 在線編程-數組下標運算符重載
第9單元:異常處理
第00節:單元導學
第01節:異常處理概覽
第02節:異常匹配與內建異常類
第03節:自定義異常類與多重捕獲
第04節:[C++11]noexcept與異常傳播
第05節:重拋異常與異常的使用場景
1. 在線編程-創建復數類,重載流運算符
2. 在線編程-修改復數類,重載加減法運算符
3. 在線編程-在復數的運算中,練習異常處理
第10單元:模板初步
第00節:單元導學
第01節:模板與泛型編程
第02節:函數模板
第03節:排序示例與泛型化
第04節:類模板
第05節:模板參數與模板繼承
10.1 在線編程-創建數組類模板
第11單元:標準模板庫介紹
第00節:單元導學
第01節:標準模板庫基礎
第02節:STL容器
第03節:STL迭代器
第04節:容器的更多用法
1. 在線編程-vector 與 sort
2. 在線編程-list與deque
Lab2
第00節: 單元導學
第01節: Project 3
第02節: Project 4