952 課程內容摘要

  課程摘要
第一週 (2/27)
第二週 (3/6)
  1. 課程簡介, 課程大綱, 參考書籍, 線上資料
  2. 以 C++ 製作物件導向程式的核心概念:(物件, 抽象化界面, 封裝), 繼承, 多型
  3. Homeworks:
    • read Chapter 2, 特別注意 99 頁 string 和 105 頁 vector 的用法, 實習課會用到
    • 預習 C++ Console I/O 以及 C++ File I/O, 實習課會用到
第三週 (3/13)
  1. C++ Console I/O
  2. Making and Using Objects
  3. Homeworks:
第四週 (3/20)
  1. Objects and Classes
  2. C++ as a better C:
    • 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())
  3. Homeworks:
第五週 (3/27)
  1. C++ as a better C: (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
    • global scope resolution operator
    • bool
    • explicit type conversion

  2. Assertion error is strictly for programmer instead of users

  3. Homeworks:
第六週 (4/3)
  1. Complex C/C++ Type Definitions

  2. Procedural Programming Example 6Balls

  3. Object Oriented Programming Example 3Bags

  4. Constructors and Destructors

  5. Homeworks:
    • review Chapter 4, 5
    • read Chapter 6 Initialization & cleanup
第七週 (4/10)
  1. Constructors and Destructors (cont'd)

  2. Assignment #1 due

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

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

  5. Common C/C++ Memory Errors, html version

  6. Homeworks:
第八週 (4/17)
  1. Assignment #1 Discussions

  2. Disciplined C++ Programming Style

  3. 去年度期中考解答

  4. Chapter 1: Formal Introduction to OOP

  5. The Big Three: Dtor, Copy Ctor, and Assignement Operator

  6. Homeworks:
第九週 (4/24)
    期中考 (10:00-12:00), 期中考參考解答
第十週 (5/1)
  1. Friend Classes and Friend Functions

  2. 期中考講解

  3. Homeworks:
    • read Chapter 9 inline function
    • read Chapter 5 page 263
    • 三星期後 5/22 繳交 作業二
第十一週 (5/8)

  1. Basic Object Design

  2. Operator Overloading

  3. Homeworks:
    • read Chapter 12 operator overloading
第十二週 (5/15)

  1. Inheritance

  2. Proper Inheritance

  3. Homeworks:
第十三週 (5/22)

  1. Polymorphism

  2. UML 語法介紹, 參考資料

  3. Homeworks:
    • review Chapter 15
    • 三星期後 6/12 繳交 作業三
第十四週 (5/29)

  1. Advanced Inheritance
  2. Homeworks:
    • review Chapter 14 (page 604-623)
    • 負面思考: OOP 真的有好處嗎? 1, 2, 3

第十五週 (6/5)
  1. Template
  2. Exception
  3. Homeworks:
    • review Chapter 16
    • review Vol2, Chapter 1
第十六週 (6/12)

  1. Exception (cont'd)
  2. State Diagram
  3. 去年度期末考試題
  4. Homeworks:
第十七週 (6/19)

端午節

第十八週 (6/26)
    期末考 (10:00-12:00)

C++ 程式設計課程 首頁

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