C 之 虛函式與純虛函式的用法

2021-06-09 01:03:55 字數 1082 閱讀 8939

虛函式與純虛函式的相同點:

1.都可以在子類中過載,以多型的形式被呼叫。

2.通常都存在於抽象基類中,被繼承的子類過載,目的是提供乙個統一的介面。

3.都不能使用static標示符(原因:虛函式是動態繫結的)

虛函式與純虛函式的不同點:

1.虛函式為了過載和多型的需要,已在類中被定義(即便定義為空),所以在子類中可以重寫其功能,也可以不用改寫。

純虛函式僅僅在類中被宣告,其定義必須在子類中實現。

2.虛函式可以被直接呼叫,也可以被子類過載以後以多型的形式呼叫。

純虛函式必須在子類中實現該函式才可以使用(原因:純虛函式在類中僅是乙個宣告)

3.虛函式的宣告:virtual 函式名( )

純虛函式的宣告:virtual 函式名( ) = 0;

4.含有純虛函式的類被稱為抽象類,而只含有虛函式的類不能被稱為抽象類。

5.如果乙個類中含有純虛函式,那麼對此類進行的任何例項化的語句都將導致錯誤(原因:抽象基類不能被直接呼叫)。

以下為乙個簡單的虛函式和純虛寒數的示例:

class father

virtual void test_2 = 0;

...}

class son:public father

void test_2()

}int main(void)

C 虛函式與純虛函式用法與區別

最開始學習c 的一點資料,忘了 位址了,覺得歸納的不錯,侵刪!1.虛函式和純虛函式可以定義在同乙個類 class 中,含有純虛函式的類被稱為抽象類 abstract class 而只含有虛函式的類 class 不能被稱為抽象類 abstract class 2.虛函式可以被直接使用,也可以被子類 s...

C 虛函式與純虛函式用法與區別

1.虛函式和純虛函式可以定義在同乙個類 class 中,含有純虛函式的類被稱為抽象類 abstract class 而只含有虛函式的類 class 不能被稱為抽象類 abstract class 2.虛函式可以被直接使用,也可以被子類 sub class 過載以後以多型的形式呼叫,而純虛函式必須在子...

C 虛函式與純虛函式用法與區別

1.虛函式和純虛函式可以定義在同乙個類 class 中,含有純虛函式的類被稱為抽象類 abstract class 而只含有虛函式的類 class 不能被稱為抽象類 abstract class 2.虛函式可以被直接使用,也可以被子類 sub class 過載以後以多型的形式呼叫,而純虛函式必須在子...