9.19學習總結

今天繼續學習了派生類。

當派生類與基類中有相同成員時:若未強行指名,則通過派生類對象使用的是派生類中的同名成員。如要通過派生類對象訪問基類中被覆蓋的同名成員,應使用基類名限定。

二義性問題:在多重繼承時,基類與派生類之間,或基類之間出現同名成員時,將出現訪問時的二義性(不確定性)——采用虛函數或同名覆蓋原則來解決。當派生類從多個基類派生,而這些基類又從同一個基類派生,則在訪問此共同基類中的成員時,將產生二義性——采用虛基類來解決。

虛基類:虛基類的引入,用于有共同基類的場合。

作用:主要用來解決多繼承時可能發生的對同一基類繼承多次而產生的二義性問題.。為最遠的派生類提供唯一的基類成員,而不重復產生多次拷貝。在第一級繼承時就要將共同基類設計為虛基類。

虛基類及其派生類構造函數:建立對象時所指定的類稱為最(遠)派生類。虛基類的成員是由最派生類的構造函數通過調用虛基類的構造函數進行初始化的。在整個繼承結構中,直接或間接繼承虛基類的所有派生類,都必須在構造函數的成員初始化表中給出對虛基類的構造函數的調用。如果未列出,則表示調用該虛基類的缺省構造函數。在建立對象時,只有最派生類的構造函數調用虛基類的構造函數,該派生類的其它基類對虛基類構造函數的調用被忽略。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 今天上午還是學習了 繼承與派生 派生類成員的標識與訪問 同名覆蓋原則 若未強行指名,則通過派生類對象使用的是派生類...
    戰昭辰閱讀 115評論 0 0
  • 1. 結構體和共同體的區別。 定義: 結構體struct:把不同類型的數據組合成一個整體,自定義類型。共同體uni...
    breakfy閱讀 2,138評論 0 22
  • C++文件 例:從文件income. in中讀入收入直到文件結束,并將收入和稅金輸出到文件tax. out。 檢查...
    SeanC52111閱讀 2,840評論 0 3
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,533評論 1 51
  • 以前的我真是個廢物,不對,是廢物都不如。我一直逃避這個事實,一直沒勇氣面對,所以,廢物去死吧。 只停留在原地,甚至...
    安之密語閱讀 117評論 0 0