## 第10講 Derived Classes,Abstract Classes

＊實作抽象資料練習-形狀(Abstract class - Shapes)

L10_A
作業檢討
(Homework discussion)

實作抽象資料練習-形狀
(Abstract class - Shapes)
-Pure virtual function
(-Pure virtual function)
destructor
(-Public member funtions : center()、shift()、rotate()、
draw() & destructor)

L10_B
實作抽象資料練習-形狀
(Abstract class - Shapes)
-vector
(-vector
& bounding()
(-Functions in main() : draw_all()、move_all()、
rotate_all() & bounding())

-Class的各種member function的使用權限
(-Access control)

L10_C
自己定List
(Build list)
-Template
(-Template)
-Smart pointers: shared_ptr
(-Smart pointers: shared_ptr)
-List的建構子
(Constructors for list)
-List public函數簡介 : isEmpty()、car()、cdr()、show()
(-Overview of public fuctions of list : isEmpty()
、car()、cdr()、show())

-操作list的函數簡介
(-Overview of functions for list)
-建造list : cons(a,list)
(-Build a list: cons(a,list))

L10_D
自己定List
(Build list)
-個別操作list中元素 : mapl(function,list)
(-Manipulate individual components in list :
mapl(function,list))

-無名函數
(-Lambda function)
-篩選list中元素 : filter(condition,list)
(- Choose components in list: filter(condition,list))
-串起兩個list : concat(list1,list2)
(- Concatenate two lists : concat(list1,list2))
-List中元素排序 : qqsort(list)
(-Sort components in list : qqsort(list))

## 課程影音

 L10_A L10_B L10_C L10_D