進階物件導向程式設計
Advanced Object-Oriented Programming
| 節 | 週三 | 週五 |
|---|---|---|
3 10:10–11:00 | 進階物件導向程式設計 EE105(光復) 2 節連堂 | |
4 11:10–12:00 | ||
7 15:30–16:20 | 進階物件導向程式設計 EE105(光復) |
* 根據陽明交大上課時間表所列
進階物件導向程式設計是步入軟體程式設計的第三門課。希望由此課程,學生能設計出符合現代軟體發展需求軟體程式。使學生由傳統的函數導向的觀念中,擴大延伸成物件導向分析的模式。讓學生具有發展較大、較複雜的系統的能力。本課程除了以電機相關的題目當例子、主要也拿iostream.h中的I/O classes如class ios, istream, ostream,...為例子作語法的分析與探討.
計算機概論與程式設計 物件導向程式設計 開學第一星期, 所有修課同學都需要作最基本的程式檢定 以避免無法達到學習效果. 主要考最基本的程式設計 Loop, Array, Function, Class
無備註
a.使用學校e3網站。 b.自製講義
1.學期作業: 有 5個作業 加上期末專題製作 2.評量方法: 3次筆試+專題製作+平時上機Homework+Lab Problems
Important C/C++ Topics
1.1 Header File 1.2 Conditional Compilation 1.3 Bit and Shift Operation 1.4 The Application of the Bitwise AND/OR Operator 1.5 Type Enumeration 1.6 The auto specifier (since C++11) 1.7 Functional Programming 1.8 Lambdas: The Functional Programming Companion of Modern C++
- 講授:
- 3
Moving from C to C++
2.1 Namespaces 2.2 Stream Input / Output 2.2.1 Stream 2.2.2 Classic Stream vs Standard Stream 2.2.3 iostream Library Header Files 2.3 C++ Input / Output 2.3.1 C++ I/O Methods 2.3.2 C++ Output Format 2.4 Files 2.5 C++ I/O State Handling 2.6 The Type String
- 講授:
- 6
C++ Enhancement
3.1 Reference 3.1.1 Reference as Independent Variables 3.1.2 Passing Reference to Functions 3.1.3 Returning Reference by Functions 3.2 Using Reference and Pointers with Const 3.3 Inline Function 3.3.1 Using macro 3.3.2 Using Inline Functions 3.4 Default Arguments 3.5 Function Overloading
- 講授:
- 3
Classes and Objects
Basic Concept 4.2 Classes 4.2.1 Members of Class 4.2.2 Member Access Modifier 4.2.3 Object(Variable) Declaration 4.2.4 Order of Public and Private Members of A Class 4.2.5 Function Member (Method, or Member Function) 4.2.5.1 Function Member Define Inside the Class: Inline Function Member 4.2.5.2 Function Member Define Onside the Class 4.2.6 Built-in Operations on Class 4.2.7 Functions and Classes 4.2.8 A struct vs. a Class 4.3 Constructors and the Destructor 4.3.1 Why Do We Need Constructors 4.3.2 Constructor Concepts and Syntax 4.3.3 Destructor Concepts and Syntax 4.4 Static Member 4.4.1 Static Data Member 4.4.2 Static Function Members (Static Method) 4.5 Basic Operator Overloading 4.6 Function Object: Functor 4.7 Separate Compilation
- 講授:
- 3
Classes: Advanced Topic
5.1 this Pointer 5.2 Copy Constructor 5.3 Convert Constructor 5.3.1 Use Convert Constructors Convert from the Primitive Data Type to the Class Type 5.3.2 Use Operators Convert from Object into Primitive Data Type 5.4 Passing and Returning Objects by Reference 5.5 Reference with Const 5.5.1 Object Reference as Const Parameter 5.5.2 Const Method (Const Function Member) 5.5.3 Const Return by Reference 5.6 Function Chaining 5.7 Friend Function and Class 5.7.1 Friend Function 5.7.2 Friend Class
- 講授:
- 5
Inheritance
6.1 Fundamentals of Inheritance 6.2 The Protected Access Modifier 6.3 Constructors and Destructor under Inheritance 6.4 Multiple Inheritances 6.4.1 Direct Multiple Inheritances 6.4.2 Indirect Multiple Inheritances 6.5 Virtual Base Classes 6.6 Destructors under Inheritance 6.7 Dominating and Overriding Base Class Members 6.8 Derived Class Constructor Rules
- 講授:
- 5
Operator Overloading
1. Fundamentals of Operator Overloading 2.Operators Functions 3.Overloading Binary Operators 4.Overloading Unary Operators 5.Overlaoding the I/O Stream Operators
- 講授:
- 3
Inheritance
1.Basic Concept and Syntax 2.Protected Members 3.Constructors Under Inheritance 4.Destructors Under Inheritance 5.Multiple Inheritance 6.Virtual Base Classes 7.Dominating and Overriding Base-class Members 8.TurboC++ I/O File classes Architecture
- 講授:
- 6
Composition
1.Composition versus Inheritance 2.Using Composition 3.Constructing and Destroying Composed Classes 4.Combining Composition and Inheritanc
- 講授:
- 3
Polymorphism and Virtual Functions
1.Dynamic versus Static Binding 2.Requirements for C++ Polymorphism 3.Virtual Functions 4.Abstract Base Classes 5.Virtual Destructors 6.Run Time Type Identification(RTTI) 7.The Rules for dynamic-casts
- 講授:
- 6
Templates
1.Template Basics 2.Template Classes in a parameter list 3.Function-style Parameters 4.The Standard Template Library 5.Containers and Iterators
- 講授:
- 5
Exception Handling
1.Fundamentals of Exception Handling 2.Using Try-Throw-Catch 3.Handling Memory Allocation Errors 4.Exceptions and Classes
- 講授:
- 3
File I/O
1.Steps in File I/O Processing 2.Sequential Files 3.Random Access File 4.C++ I/O class Architecture
- 講授:
- 3
教師未提供此項資料
Lectures
- 地點
- 工五館762室
- 時間
- 1.每星期兩小時。 2.另外主要使用e-mail討論問題。
- 聯絡方式
- Tel:54367 e-mail:cytsai@mail.nctu.edu. tw
