2000/02-2000/06 C++ 程式設計課程要求

教科書:

參考書目:

  1. C++ 程式語言基礎說明與範例:

    1. C++ The Core Language, Satir & Brown, O'Reilly, 松崗

    2. C++ 程式設計藝術, 劉國樑譯, Deitel 原著, 全華

    3. Visual C++ 入門進階: 從 C++、物件導向到視窗程式設計, 位元文化編著, 文魁

  2. 物件概念、模型、與 OOP (Object Oriented Programming):

    1. 多型與虛擬, 侯俊傑著, 松崗。

    2. 深度探索 C++ 物件模型, 侯俊傑譯, �眳p。

    3. C++ FAQs, Marshall P. Cline and Greg A. Lomow, Addison Wesley, 華通, (部份有免費中譯 ftp://ftp.cis.nctu.edu.tw/Documents/News/C-faq/Index.html,
      http://www.cis.nctu.edu.tw/c++/C++FAQ-Chinese/) (這一本是我建議需要買的書籍)

  3. 物件概念參考書:

    1. 世紀末軟體革命 2 (賀元/劉燈/賴明宗著), 資訊人出版社

  4. 由軟體工程看 C++

    1. 由 C 到 C++ 物件導向革命, 陳建維, 靖宇

  5. STL

    1. STL 入門指南, 郭柏宏, 松崗

  6. Design Patterns

    1. Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm,Ralph Johnson, and John Vlissides, Addison Wesley, October 1994.

    2. Analysis Patterns: Reusable Object Models, by Martin Fowler, Addison Wesley, 1997.

    3. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, by Craig Larman, Prentice Hall, 1997.

    4. OnLine Resources

  7. 線上資料:

    1. DevCentral's Learning Center

    2. Peter Mueller's Tutorial

    3. Stroustrup's collections

  8. 其他經典:

    1. C++ Primer, by Stanley B. Lippman, Josee Lajoie, Jose Lajoie, 1237 pages 3rd edition (April 1998) Addison-Wesley Pub Co; ISBN: 0-201-82470-1 (中譯 by 侯捷, �眳p, 1999)

    2. The ARM: The Annotated C++ Reference Manual. , by Margaret A. Ellis and Bjarne Stroustrup, Addison-Wesley, Reading, MA. 1990. ISBN 0-201-51459-1. 478 pages. Hardcover. (Often called "The ARM")

    3. The C++ Programming Language (3rd Ed., Addison-Wesley, ISBN 0-201-88954-4. 920 pages. 1997, Stroustrup (中譯 by 葉秉哲, 儒林, 1999/5)

  9. ANSI/C++
    other ftp site: ftp.maths.warwick.ac.uk:/pub/c++/std/cd2
    local html copy

必須先修之課程

課程要求:

  1. in-class quiz's and class participation 15%

  2. 4~6 assignments 60%

  3. Final 25%

課程大綱:

  1. introduction, why using C++, programming styles

  2. C++ as a better C

  3. better abstraction: class, objects, interface

  4. constructors, destructors

  5. advanced classes, reference, friend

  6. basic object design / example

  7. overloading

  8. inheritance

  9. polymorphism(dynamic binding), virtual function, ABC, "old code call new code"

  10. virtual function table, proper inheritance

  11. dynamic typing, pseudo OO, generic container

  12. the Big Three

  13. resource management

  14. object states (part of the interface)

  15. a simple class hierarchy, SST

  16. exception, File I/O

  17. templates

回 C++ 程式設計課程 首頁

製作日期: 02/23/2000 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@cs.ntou.edu.tw