C++之多型性小結

有夢想的小新人發表於2020-12-12

1.多型性概述

  • 多型分類:專用多型(過載多型和強制多型)和通用多型(包含多型和引數多型)
  • 過載多型:普通函式以及類的成員函式的過載都屬於過載多型。
  • 強制多型:指將一個變元的型別加以變化,以符合一個函式或者操作的要求。
  • 包含多型:類族中定義不同類中的同名成員函式的多型行為,主要是通過虛擬函式來實現。
  • 引數多型:與類别範本相關聯,在使用的時候必須賦予實際的型別才可以例項化。
  • 多型從實現的角度分類:編譯時的多型和執行時的多型
  • 編譯時的多型:編譯過程中確定了同名操作的具體操作物件
  • 執行時的多型:執行過程中才動態地確定操作所針對的具體物件
  • 繫結:確定操作的具體物件的過程,分為靜態繫結和動態繫結。繫結指計算機程式自身彼此關聯的過程,也就是把一個識別符號名和一個儲存地址聯絡在一起的過程,用物件導向的術語描述就是把一條訊息和一個物件的方法結合的過程。
  • 靜態繫結:繫結工作在編譯連線階段完成,過載多型、強制多型、引數多型就是通過靜態繫結解決的。
  • 動態繫結:繫結工作在程式執行階段完成,包含多型就是通過動態繫結來解決問題。

2.運算子過載

3.虛擬函式

4.純虛擬函式與抽象類

相關文章