1.繼承(inheritance)
2.c++通過類派生(class derivation)的機制來支持繼承
3.基類(base class)
4.派生類(derived class)
5.基類和派生類實例的集合稱為類繼承層次結(jié)構(gòu)(hierarchy)
6.如果基類和派生類共享相同的共有接口, 則派生類被稱做基類的子類型(subtype)
7.基類指針或引用可以直接引用其任何派生的類, 多態(tài)(polymorphism)
8.在運行時刻需要解析出被調(diào)用的函數(shù), 這個解析過程被稱為動態(tài)綁定(dynamic bindng) --缺省情況下, 函數(shù)實在編譯時刻被靜態(tài)解析的
9.c++中, 通過一種被稱為虛擬函數(shù)(virtual function)的機制來支持動態(tài)綁定, 通過集成和動態(tài)綁定, 子類型多態(tài)性為面向?qū)ο蟮某绦蛟O(shè)計提供了基礎(chǔ)
10.面向?qū)ο蟮某绦蛟O(shè)計提供了一種方案, 把類型解析的負擔從程序員的身上轉(zhuǎn)移到編譯器上
11.類繼承層次結(jié)構(gòu)的主要好處是, 我盟可以針對抽象基類的共有接口進程編程, 而不是針對組成繼承層次的個別類型
    用戶代碼可以不受語言變化的影響 --多態(tài)和動態(tài)綁定
12.在c++中, 多態(tài)性只存在于子類繼承層次中 --void*型的指針可以被描述為多態(tài), 但是語言本身并沒有顯示的支持他們, 必須由程序員自己來管理
    c++語言通過幾種方式支持多態(tài)性
        通過一個隱式轉(zhuǎn)換, 從"派生類指針或引用"轉(zhuǎn)到"其共有基類類型的指針或引用"
        通過虛擬函數(shù)的機制
        通過dynamic_cast和typeid操作符
            if(SubClass* pSub = dynamic_cast<SubClass*>(pObj)) ...
13.抽象基類(abstract base class)
14.實體基類(concrete base class)
15.純虛擬函數(shù)(pure virtual function)
16.覆蓋(override)
17.c++語言為我們提供了一種語法結(jié)構(gòu), 通過它可以指明, 一個虛擬函數(shù)只是提供了一個可以被子類改寫的接口
18.傳遞給缺省函數(shù)的值不是在運行時刻決定, 而是在編譯時刻根據(jù)被調(diào)用函數(shù)的對象的類型決定
19.虛擬析構(gòu)函數(shù) --主要是為了能夠用delete銷毀基類的時候也能夠保證調(diào)用派生類的析構(gòu)函數(shù), 要不然它只是調(diào)用基類的析構(gòu)函數(shù)而已