2 項進行中

115-1 選課時程

進行中

  • 初選第一階段 6/15 – 6/18
  • 初選第二階段 6/22 – 6/25
  • 校際選修 進行中 8/24 – 9/18
  • 初選第三階段 8/31 – 9/3
  • 開學後加退選 進行中 9/7 – 9/21
  • 逾期加退選 9/21 – 9/24
選課資源

加入行事曆

選擇訂閱 Google Calendar,或下載通用的 ICS 檔案。

使用 Google Calendar 時,Google 會收到這份課表的公開連結。

進階物件導向程式設計

Advanced Object-Oriented Programming

學期
111-1
學分
0 學分
當期課號
515121
永久課號
EEEC10022
開課單位
電機工程學系
授課教師
蔡中庸
校區
光復
類別
選修
上課時間表
週三
週五
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

Office Hours
地點
工五館762室
時間
1.每星期兩小時。 2.另外主要使用e-mail討論問題。
聯絡方式
Tel:54367 e-mail:cytsai@mail.nctu.edu. tw