1. 先將ch3 ~ ch5 的範例程式測試一遍
2. 初學者撰寫程式的步驟: (1)理解問題 (2)演算法設計 (3)解法推導與實作
3. 打字速度必須到達不影響邏輯表達的程度
4. cerr 為標準錯誤輸出流與cout是幾乎相同的function
5. 異常處理(Exception handle)使用try/catch 架構 在try中執行正常操作,在error中執行異常處理,只要try區塊中任一函數執行出現異常,即拋出異常(cin.exceptions(cin.failbit)),程式執行轉到catch區塊繼續。
6. #include
7. sscanf(const char * str , const char * format,...) ,其中format "%*s or %*d"為刻意忽略第一個字串中的某一段字串。
8. 使用 std::runtime_error 需#include stdexcept
9. C++例外處理類別: http://caterpillar.onlyfun.net/Gossip/CppGossip/StandardException.html
10. 優質代碼參考網站: http://www.happycodings.com/
11. fputs(str,stdout)與puts(str)均為寫入string 到 stdout,差別在於puts會自動加入換行字元。
12. 開啟一個檔案之後,若有意再進行寫入動作,標準實作必須呼叫fflush or fseek。
13. fgets(buffer,size,stream) 為從stream所指向的檔案流抓取size個字元到buffer。
14. heap 與 stack 的差異:(待整理)
15. 掌握c++ 的第13章 記憶體: heap 、 stack 、pointer,須反覆閱讀。
16. 使用enum 必須記得初始化enum結構變數,才不會出現g++編譯錯誤。
17. 掌握c++ 第15章 的範例無法編譯成功。
18. getter & setter函數的功能? getter()負責取得class的私有變數的值;setter()負責修改私有變數的值,但不返回該私有變數。
19. 掌握c++第19章的範例程式: anAccumulator 有實作default constructor 而 aController 則否。
20. Class由兩個部分組成,class的宣告在.h檔,class的實作在.cpp檔。
21. aRequest::anOperator aRequest::Operator(void) const <=表示Operator()為一個getter函數。
22. anAccumulator::Apply(const aRequest &theRequest)為一個setter函數。
23. anAccumulator::anAccumulator(void): myValue(0) <= 為實作一個default constructor。
24. aController::SelfTest()中為何TestAccumulator 物件可以有多個instance ?
25. ControllerModule.cpp中: while(Request.Operator() != aRequest::stop){ ... } 為何還要在呼叫Operator()一次?
26. 在UML類別圖中,不顯示每個Class的default
27. aRequest:aRequest (const anOperator theOperator, const float theOperand) 為建構子。
28. aRequest::aRequest(const aRequest &theRequest) 為複製建構子。
29. 第21章overloded運算子的單元須閱讀陳錦輝的補充單元說明。
30. 第22章介紹到繼承、virtual、多型等觀念需多次複習。
沒有留言:
張貼留言