物件導向程式設計

臺北科技大學 115-1 學期課程,課號 362602。

課程大綱

透過原理解說與系統實作,使學生熟悉物件導向設計原理及C++進階程式設計技術,內容含:1. C++ 物件模型 2. 類別與物件3. 建構者與解構者 4. 繼承 5. 虛擬函式與多型 6. 運算子溢載 7. 例外處理 8. 泛型程式設計 9. 標準模板程式庫 10. 期末專題設計

課程進度

01 介紹 C++ 開發環境與作業繳交方式; Unit testing with GoogleTest 02 How to solve it (HTSI) - Example: applying how to solve it (math vector in C) 03 Inner product round 1/Inner product round 2 04 Inner product, round 3 05 Handling I/O; inner product, round 4: refactoring into object 06 Midterm 1: Lab test 1 (上機考試:科研1223) 07 Special member functions: default constructor, copy constructor, destructor, shallow copy, and deep copy 08 AI coding with HTSI 09 Convex polygon; Special member functions: copy assignment operator overloading; return a reference to a data member; encapsulation and delegation: How do ConvexPolygon and Vector collaborate? 10 Delegation from ConvexPolygon to Vector Sorting Vectors with STL sort; Sorting Vertices of a convex polygon; 11 Midterm 2: Lab test 2 (上機考試:科研1223) 12 Simple Factory vs constructor for Convex Polygon; Polymorphism 13 Design: Overloading vs. overriding vs. template 14 Programming with STL 15 File i/o; stream 16 Final: Lab test 3 (上機考試:科研1223)

評量方式

Homework 20% Online Coding Tests X 3 (20%, 20%, 20%) Self-guided study project (20%)

教材

【遵守智慧財產權觀念,請使用正版教科書,不得使用非法影印教科書】 使用外文原文書:否 A. Course repo: https://140.124.181.100/yccheng/oop2026f (accessible only on campus or with ntut vpn) B. Reference: 1. HTSI CPP: http://htsicpp.blogspot.tw/ 2. cplusplus.com: https://cplusplus.com/