C 之類的多型性

2021-10-05 12:13:45 字數 898 閱讀 4858

1、何為多型性:呼叫乙個函式時,根據函式引數的型別、個數不同或呼叫時的物件不同能產生不同的行為。

2、實現形式:1)靜態多型性 2)動態多型性

3、靜態多型性

靜態多型性是通過函式過載(overload)來實現的,即函式的函式名相同,但函式引數的型別、個數不同或引數型別的順序不同。

注意:

函式返回值型別不同並不是函式過載的標誌,所以我們不能通過函式的返回值型別來判斷乙個函式是否為過載函式。

例如:

void

add(

);

int add(int a,int b);

double add(double a,double b);

以上兩個函式即為過載函式;

但是int add();

不是函式過載,因為它只是返回值型別不同。

4、動態多型性

動態多型性時通過函式重寫(override)來實現的,即派生類重寫與基類名字相同且引數型別、個數、順序也相同的函式。在呼叫該函式時,會根據呼叫時的物件來確定呼叫相應物件的函式。

例如:

class

animal

}class

cat:

public animal

}class

dog:

public animal

}int

main()

主函式中定義乙個基類的指標來呼叫基類或派生類中的cry函式,體現了多型技術的實現。

C 的多型性

c 的多型性 1.多型性的概念 多型性是指用乙個名字定義不同的函式,這函式執行不同但又類似的操作,從而實現 乙個介面,多種方法 多型性的實現與靜態聯編 動態聯編有關。靜態聯編支援的多型性稱為編譯時的多型性,也稱靜態多型性,它是通過函式過載和運算子過載實現的。動態聯編支援的多型性稱為執行時的多型性,也...

C 的多型性

type text css rel stylesheet href 是允許將父物件設定成為和乙個或多個它的子物件相等的技術,比如parent child 多型性使得能夠利用同一類 基類 型別的指標來引用不同類的物件,以及根據所引用物件的不同,以不同的方式執行相同的操作.c 中多型更容易理解的概念為允...

C 的多型性

c 的多型性分為兩種,一是執行時的多型性,二是編譯時的多型性,這裡我就不多介紹了。才是做好的說明,在 中有注釋以及我的理解。不知道自己這樣解釋是否正確。如下 執行時的多型性 include using namespace std 執行時的多型性是指直到系統執行時,才根據實際情況決定實現何種操作,執行...