本文介紹的是類和物件中的多型,是c++面對物件三大特性之一。所謂多型性就是用乙個函式名呼叫不同內容的函式,實現「乙個介面,多種方法」。
所謂多型性就是用乙個函式名呼叫不同內容的函式,實現「乙個介面,多種方法」。
多型分為兩種:靜態多型和動態多型。
靜態多型:函式過載和運算子過載。
動態多型:派生類和虛函式執行時多型。
兩者區別:靜態多態函式位址早繫結,編譯階段確定函式位址
動態多態函式位址晚繫結,執行階段確定函式位址
class
animal};
class
cat:
public animal};
class
dog:
public animal};
//根據函式位址在什麼階段確定,確定是什麼聯編,若是編譯階段,則為靜態聯編,執行階段為動態聯編
void
dospeak
(animal& animal)
//1.多型滿足的條件:有繼承關係和子類重寫父類中的虛函式
//多型的使用:父類指標或引用指向子類物件
void
test01()
intmain()
1.多型滿足的條件:有繼承關係和子類重寫父類中的虛函式
2.多型的使用:父類指標或引用指向子類物件
3.重寫:函式返回值型別 函式名 引數列表 完全一致稱為重寫
C 學習筆記之多型 多型的學習 多型學習
c 學習筆記之多型 多型的學習 多型學習 多型分為兩類 靜態多型 函式過載和運算子過載屬於靜態多型,復用函式名 動態多型 派生類和虛函式實現執行時多型 靜態多型和動態多型的區別 靜態多型的函式位址早繫結 編譯階段確定函式位址 動態多型的函式位址晚繫結 執行階段確定函式位址 動態多型滿足條件 動態多型...
C 學習筆記之 多型
目錄應用 計算器類 純虛函式和抽象類 虛析構和純虛析構 型別轉換 多型性提供介面與具體實現之間的另一層隔離,將 什麼 和 怎麼做 分開 分類 動態多型 函式位址晚繫結 include using namespace std 動物類 class animal class dog public anim...
C 中物件導向程式設計機制之多型學習筆記
c 的多型性 我的理解是 同乙個操作,作用於不同的物件時,會有不同的結果,即同乙個方法根據需要,作用於不同的物件時,會有不同的實現。c 的多型包括 介面多型,繼承多型。其中繼承多型又包括通過虛擬方法實現的多型和通過抽象方法實現的多型性 例如 基類動物都有吃的方法,但是不同的動物吃的東西就會不一樣,例...