21 6 賦值相容規則與抽象類

2021-10-01 11:18:19 字數 528 閱讀 3139

賦值相容規則(基類和派生類物件賦值轉換)

1.派生類物件直接賦值給基類物件

2.派生類物件的位址可以直接給基類物件的指標賦值

3.派生類物件直接賦值給基類的引用物件賦值

//覆蓋(重寫)

class a

int main()

在虛函式的後面寫上 =0 ,則這個函式為純虛函式。包含純虛函式的類叫做抽象類(也叫介面類),抽象類

不能例項化出物件。派生類繼承後也不能例項化出物件,只有重寫純虛函式,派生類才能例項化出物件。純虛函式規範了派生類必須重寫,另外純虛函式更體現出了介面繼

//抽象類 example

class car

;class benz :public car

};class bmw :public car

};void test()

同名隱藏與賦值相容規則

在繼承體系中我們的編寫派生類一般可分四個步驟 1 吸收基類成員 除建構函式和析構函式外全部接收 2 改造基類成員 宣告乙個和某基類成員的新成員,派生類中的新成員就遮蔽了基類同名成員稱為同名隱藏 3 發展新成員 派生類新成員必須與基類成員不同名,它的加入保證派生類在功能上有所發展 4 重寫建構函式和析...

抽象類與抽象函式

1 抽象函式 只有函式定義,沒有函式體的函式。例如 abstract void fun 2 抽象類 基類 使用abstract定義的類稱之為抽象類。記住 抽象類天生就是當爹的,要被繼承!1 抽象類不能生成物件 假設可以生成物件,那麼可以呼叫裡面的抽象函式,而抽象類中若是有乙個抽象 函式,其函式體為空...

抽象類與抽象方法

有些類注定是不能被初始化的,即不能被new 設想一下,乙個animal類下有很多子類,dog,cat,lion等,這些子類都可以被例項化,但是animal如果被例項化後會變成什麼樣?會有什麼特徵?這是難以想象的,因此像animal這樣的父類就不能例項化,我們迫切需要有一種類,只能例項化其子類物件而本...