1032 (104/02-104/06) 課程內容摘要

download all pdf slides 4up for print, color

  課程摘要
第一週 (104/02/24)
  1. 課程簡介(b&w), 課程大綱, 參考書籍, 線上資料

  2. 以 C++ 製作物件導向程式的核心概念: 物件, 抽象化界面, 封裝, 繼承, 多型

  3. Homeworks:
第二週 (104/03/03)
  1. 學習目標和 C 程式設計, 資料結構, 演算法有相當的差異: 希望能夠增進軟體系統的重用, 不要像免洗餐具一樣即用即丟, 希望能夠不斷地透過物件的組合來產生新的軟體: 解線性方程式範例 (b&w); 另外也希望不是結果對就好了, 希望程式是能夠很容易看得懂的, 是有 application domain 的模型在裡面的。

  2. Abstract Data Type: (b&w): [Data Type + Operation] common part independent of all implementations and instantiations

  3. C++ Console I/O (b&w): iostream: an object oriented I/O library

  4. Homeworks:
第三週 (104/03/10)
  1. A "Better" C Program (b&w), codes

  2. C++ Console I/O (b&w): an object oriented I/O library

  3. Making and Using Objects (b&w)

  4. Objects and Classes (b&w)

  5. Homeworks:
第四週 (104/03/17)
  1. Objects and Classes (b&w)

  2. C++ as a better C (b&w) :
    • single line comment
    • struct, enum, union tags are type names
    • new iostream library (object oriented usage, type sensitive usage)
    • cooperating with stdio (ios::sync_with_stdio())
    • variable declaration on the fly
    • definition vs. declaration (variable and function)
    • function signature and name mangling

  3. Homeworks:
第五週 (104/03/24)
  1. C++ as a better C (b&w) : (cont'd)
    • parameter defaults
    • #define vs. const variables
    • new and delete
    • stricter typing system
    • typedef
    • reference (b&w)
    • global scope resolution operator
    • bool
    • explicit type conversion

  2. Reference (b&w)

  3. Complex C/C++ Type Definitions (b&w)

  4. Dynamic allocation of 2-dimensional array in C (b&w)

  5. Procedural Programming Example 6Balls

  6. Object Oriented Programming Example 3Bags Example (b&w), codes

  7. Homeworks:
第六週 (104/03/31)
  1. Object Oriented Programming Example 3Bags Example (b&w) (cont'd)

  2. Constructors and Destructors (b&w)

  3. More Classes (b&w) (Object composition and ctor, this pointer, return pointers)

  4. Homeworks:
第七週 (104/04/07)

spring break

第八週 (104/04/14)
  1. Common C/C++ Memory Errors (cont'd) (b&w), html version

  2. The Big Three: Dtor, Copy Ctor, and Assignment Operator (b&w)

  3. Homeworks:
第九週 (4/21) 期中考 (10:00-12:00)
第十週 (4/28)
  1. 期中考參考答案, 成績分佈

  2. Friend Classes and Friend Functions (b&w)

  3. Homeworks:
第十一週 (5/5)
  1. Basic Object Design (b&w)

  2. More Object Design (b&w)

  3. Homeworks:
第十二週 (5/12)
  1. More Object Design (b&w) (cont'd)

  2. Operator Overloading (b&w)

  3. Homeworks:
    • read Chapter 12 operator overloading
    • 星期四 (104/05/14 21:00) 繳交作業三
    • 四星期後 (104/06/11 星期四 21:00) 交 作業四
第十三週 (5/19)
  1. Operator Overloading (b&w) (cont'd)

  2. Inheritance (b&w)

  3. Homeworks:
第十四週 (5/26)
  1. Inheritance (b&w)

  2. Homeworks:
第十五週 (6/2)
  1. Advanced Inheritance (b&w)

  2. Polymorphism (b&w)

  3. Homeworks:
    • review Chapter 14
    • review Chapter 15
    • 下星期四 (104/06/11 21:00) 交 作業四
第十六週 (6/9)
  1. Generic Programming (b&w)

  2. Homeworks:
    • review Chapter 14 (page 604-623)
    • 負面思考: OOP 真的有好處嗎? OOP Criticism, OOP Myth
    • review Vol2, Chapter 1
    • 星期四 (104/06/11 21:00) 交 作業四
第十七週 (6/16)
  1. Exception (b&w)

  2. Object Oriented Design Smells and SOLID Principles (b&w)

  3. Homeworks:
第十八週 (6/23)
    期末考 (9:30-12:00)
    教室分配表
    請提早 10 分鐘到 INS105 / INS B18 找你的座位

    查詢自己的期末考考卷與成績 (請至考試作業區選取期末考)

    1032期末考, 參考答案, 成績分佈

C++ 物件導向程式設計課程 首頁

製作日期: 02/17/2014 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@mail.ntou.edu.tw TEL: 02 24622192x6615
海洋大學 電機資訊學院 資訊工程學系 Lagoon