962 (97/2-97/6) 課程內容摘要

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

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


  3. A "Better" C Program (b&w), codes


  4. Homeworks:
第三週 (3/4)
  1. C++ Console I/O (b&w)

  2. Making and Using Objects (b&w)

  3. Homeworks:
第四週 (3/11)
  1. Assignment #1 due

  2. Objects and Classes (b&w, 課程記錄, 請安裝課程記錄瀏覽程式DInk, 1, 教材記錄)

  3. 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())

  4. Homeworks:
第五週 (3/18)
  1. C++ as a better C (b&w, 課程記錄, 教材記錄) : (cont'd)
    • variable declaration on the fly
    • definition vs. declaration (variable and function)
    • function signature and name mangling
    • 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. Homeworks:
    • 3/20 實習課 20分鐘小考 (實習1到實習3內容)
    • review Chapter 3
    • read Chapter 4, 5
    • 兩星期後 (3/31) 交作業二
第六週 (3/25)
  1. Assertion (b&w) error is strictly for programmer instead of users

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

  3. Procedural Programming Example 6Balls

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

  5. Homeworks:
    • review Chapter 4, 5
    • read Chapter 6 Initialization & cleanup
第七週 (4/1)
  1. Constructors and Destructors (b&w, 課程記錄, 教材記錄)

  2. Assignment #2 due

  3. More Classes (b&w, 課程記錄, 教材記錄) (Object composition and ctor, this pointer, return pointers)

  4. Procedural Programming Example WaveRecord.h, WaveRecord.cpp

  5. Common C/C++ Memory Errors (b&w, 課程記錄, 教材記錄, 課程記錄, 教材記錄), html version

  6. Homeworks:
第八週 (4/8)
  1. Disciplined C++ Programming Style (b&w)

  2. 前年度期中考解答

  3. Chapter 1: Formal Introduction to OOP (b&w, 課程記錄, 教材記錄))

  4. The Big Three: Dtor, Copy Ctor, and Assignment Operator (b&w, 課程記錄, 教材記錄, 課程記錄 2, 教材記錄 2))

  5. Homeworks:
第九週 (4/15)
    期中考 (10:00-12:00), 期中考參考解答
第十週 (4/22)
  1. Friend Classes and Friend Functions (b&w, 課程記錄, 教材記錄),

  2. 期中考講解

  3. Homeworks:
    • read Chapter 9 inline function
    • read Chapter 5 page 263
第十一週 (4/29)
  1. Basic Object Design (b&w, 課程記錄, 教材記錄)

  2. Operator Overloading (b&w, 課程記錄, 教材記錄)

  3. Homeworks:
    • read Chapter 12 operator overloading
    • 二星期後 5/12 繳交 作業三
第十二週 (5/6)
  1. Operator Overloading (b&w, 課程記錄, 教材記錄)

  2. Quiz#1 Solution (課程記錄, 教材記錄)

  3. Inheritance (b&w, 課程記錄, 教材記錄)

  4. Proper Inheritance (Liskov Substitution Principle)

  5. Homeworks:
第十三週 (5/13)
  1. Inheritance (b&w, 課程記錄, 教材記錄)

  2. Polymorphism (b&w, 課程記錄, 教材記錄)

  3. Homeworks:
    • review Chapter 15
第十四週 (5/20)
  1. Polymorphism (cont'd) (b&w, 課程記錄, 教材記錄)

  2. Quiz#2 Solution (課程記錄, 教材記錄)

  3. Homeworks:
    • review Chapter 14 (page 604-623)
    • 負面思考: OOP 真的有好處嗎? 1, 2, 3
第十五週 (5/27)
  1. UML 語法介紹, (b&w) 參考資料, UML 簡介 (課程記錄, 教材記錄)

  2. Advanced Inheritance (b&w, 課程記錄, 教材記錄)

  3. Template (b&w, 教材記錄)

  4. Homeworks:
    • review Chapter 16
    • review Vol2, Chapter 1
    • 兩星期後 6/9 繳交 作業四
第十六週 (6/3)
  1. Template (cont'd) (b&w, 課程記錄, 教材記錄)

  2. Exception (b&w, 課程記錄, 教材記錄)

  3. Advanced Inheritance (cont'd) (b&w, 課程記錄, 教材記錄)

  4. Homeworks:
第十七週 (6/10)
  1. State Diagram (b&w, 課程記錄, 教材記錄)

  2. 前年度期末考試題 (課程記錄, 教材記錄)

  3. 去年度期末考試題及解答

第十八週 (6/17)
    期末考 (10:00-12:10)
    教室分配表
    請提早 10 分鐘到 B10, B12 找你的座位


    參考答案

C++ 程式設計課程 首頁

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