抽象類不是實際存在的類,所以你不能定義乙個抽象類的物件,但是卻可以定義乙個指向抽象類的指標。
抽象類僅僅起到了為派生類提供乙個介面的作用,這個介面類的純虛函式可以沒有任何作用,派生類將這些純虛函式繼承過來,然後給予不同的功能,而多型性又保證了使用者在輸入不同的數字時呼叫不同的虛函式。
乙個虛函式通過初始化為0就變成了純虛函式
乙個類可以有多個純虛函式,包含有純虛函式的類叫做抽象類
由於抽象類可當做介面來使用,所以使繼承的派系層次更為分明。
不要試圖去建立乙個抽象類的物件
乙個抽象基類仍然可以派生出抽象類,假如其子類沒有將它的純虛函式全部覆蓋掉,那麼該子類也是抽象類
純虛函式與抽象類
有時我們僅僅想讓基類表示一種抽象的概念,而不與具體的事物相聯絡 如 我在基類中定義乙個多邊形的函式shape 但是我並不想讓它指向某乙個具體的多邊形 三角形呀,四邊形呀 我只想讓它指明多邊形都共有的特徵 都有兩條以上的邊構成,都有角。然後在它的派生類中在對對變形進行具體化 這時便用到了純虛函式 純虛...
純虛函式與抽象類
一 純虛函式 在基類中宣告的虛函式在各派生類中根據實際需要給出各自定義。syntax virtual returntype functionname 參數列 0 宣告為純虛函式後,基類中就可以不再給出函式的實現部分,函式體由派生類給出。在基類中對純虛函式定義的函式體的呼叫,必須通過 基類名 函式名 ...
純虛函式與抽象類
1 純虛函式是乙個在基類中說明的虛函式,在基類中沒有定義,要求任何派生類都定義自己的版本 2 純虛函式為各派生類提供乙個公共介面 介面的封裝設計 3 純虛函式說明形式 virtual 型別 函式名 參數列 0 4 乙個具有純虛函式的基類稱為抽象類。定義乙個抽象類,含有純虛函式類叫做抽象類。1 如果子...