C++ Programming Course

 

井民全,2003

 

課程內容包括:

    ANSI C 語言文法複習,抽象化 、界面,類別、物件,物件化之程式運作模型,封裝特性,建構元、解構元,合成,繼承,隱藏法則,動態 連結與多形,適當之繼承,運算子覆載,拷貝建構元與指定運算子,夥伴函式與類別,資源管理,模板,錯誤處理等等.

11/15 Note 12/05 Note   12/13 Note

工具

    1. Dev-C++ [link]: 可以讓你不需要花錢買 Microsoft VC 就可以寫 Windows 程式.

    2. Anjuta [link]: 讓你在 Linux 的環境, 也有好用的整合開發工具編寫 C++ 程式.

 
電子書:
     Thinking in C++ [link]    
 

                                                     

版權聲明:
基於知識無價的原則, 你可以任意修改,重製,散佈這份資料.
但是必需同意下列條件:
  1. 註明資料來源
  2. 必須讓我知道 (我的email:  mqJing@msn.com )

 

 

Content

上課講義及範例下載

(上課時,投影片會包含補充的部分

並做小幅的更改)

補充的部分

1. C++語言的基本要素

 
   前言 (ppt)

  HelloWorld (ppt)

 download 範例下載

 

作業 : [view]

  最大公因數的計算

2. C++的資料型態、算式 (Expressions)


  C++的資料型態(新版本)

  Expressions(新版本)

 download 課程範例

作業 :

     1. 問答題 [view]              

     2. [2DMatrix]     

     3. 矩陣相乘 [viewl]              

參考解答:

      1.  [sol]   2. [sol] 3.[sol]

作業繳交方式:

         請用 e-mail 將你的心得寄給我

  與同學的討論:

 [指標]

[字串與陣列]

3. 述句 (Statements) 、函式

 

download

作業 :

        1. 2D Matrix 配置 function 實作 [view]

        2. Recursive 作業 [view]

        3. 排序 [view]

參考解答:

        1. [sol] 2. [sol] 3.[sol]

作業繳交方式:

         請用 e-mail 將你的心得寄給我

  補充: 

1. 任意參數函數 [link]

2. 函數指標 [view]

    example [view]

3. 如何知道最大可配置多少的

     記憶體 [view]

  與同學的討論:
     [Function定義與宣告]


 

4. 生存空間與生命週期以及多載化函式

 

download

作業:

       1. Function Overloading [view]

參考解答:

       1. [sol]

補充資料:

   1. 如何載入一個BMP 影像格式的圖形 [link]

source [link]

[範例圖檔] [link]

    2. C++ 如何呼叫 Matlab 所提供的函數 [link]

5. Function Template Classes

 

 講義:結構化程式語言與物件導向 (original)

           Classes   ( ppt)

             download 範例程式

 作業:

      1. 請參考 Function 章節作業, 將 2D Matrix function 轉成 template 形式

      2.  封裝陣列的類別(view)

 

 

 參考解答:

      1. [sol] 2. [sol]

 

補充資料:

     1. 如何做影像處理 [link]

     2. 影像處理範例專案 [link]

 

6. Class的初始化,內容指派,解構

 

 講義: Initialization ( ppt )

 範例:   download

 

 作業:

     1. 封裝 Stack 的類別 (view)

參考解答:

      1. [sol]

補充資料: (文章閱讀)

    1. ASP 成功的技術關鍵 [view]

    2. 製作陣列物件範例

         [.H  .cpp 使用方法

    3. 與同學的討論:

[this]

[初始化你的物件] 

7. Class繼承 

 

download

 

作業範本:

    [基礎類別=> .h  .cpp ]

    [衍生類別=> .h .cpp ]

 

 

  

8. 虛擬函式(virtual function) Class Template

 

download

 

補充資料:

 

9.Overloading Operations、異常處理

 


download

 

 

 

  1. 把你陣列中的 加法 減法function 用operator + 與 operator - 代替. 如:   Matrix a(3,4),b(3,4);

   Matrix c=a+b;

  1. 另外, 把 例外處理加到你陣列物件中.

如: 加入 索引範圍檢驗的功能. 等

  與同學的討論 [link


10. 檔案處理與基本輸入輸出

download


11. 一些好用的 Collection 範例

 

General Algorithm: Sort 

                * Sorting on Vector 

                * Sorting on List 

MFC CList 最簡單範例 [see]

  • 如何建立 CList 元件
  • 如何加入一個接受管理的 物件
  • 如何列舉出目前所有被管理的物件
 
 
 
 
補充 Topic
 

 建立你的 library

 講義:

   Create Your Library ( ppt )

 
 加入組合語言指令  

 講義:

   Inline Assembly ( ppt )

   AccessStructureData (word) ( c++)

   AccessClassDataMember (word) ( c++)

    Call Printf (word)

     

 

同學的問題:

指標 FunctionTemplate, Fucntion定義與宣告

自強工業基金會補充講義下載:

1. ADO資料庫講義與範例(包含Insert,Update,SQL command)

2. COM物件操作 (與Matlab連結為例): (講義,Matlab DLL檔,VC 專案範例)

 

網路資源

  1. 檔案格式描述 (包含 MS Word 格式分析) [link]

  2. GCC homepage [link]

  3. 香港學網 [link] 
  4. 程式設計俱樂部 [link]

     [其他重要資料連結 here]

 


 

回到首頁