虛函式使用方法

2021-09-11 14:09:14 字數 863 閱讀 4998

虛函式的使用方法:

(1)在基類用virtual宣告成員函式為虛函式。這樣就可以在派生類中重新定義此函式,為它賦予新的功能,並能方便被呼叫。

在類外定義虛函式時,不必在定義virtual

(2)在派生類中重新定義此函式,要求函式名,函式型別,函式引數個數和型別全部與基類的虛函式相同,並根據派

生類的需要重新定義函式體。

c++規定,當乙個成員函式被宣告為虛函式後,其派生類的同名函式都自動成為虛函式。因此在派生類重新宣告該

虛函式時,可以加virtual,也可以不加,但習慣上一般在每層宣告該函式時都加上virtual,使程式更加清晰。

如果再派生類中沒有對基類的虛函式重新定義,則派生類簡單的繼承起基類的虛函式。 

(3)定義乙個指向基類物件的指標變數,並使它指向同一類族中需要呼叫該函式的物件。

(4)通過該指標變數呼叫此虛函式,此時呼叫的就是指標變數指向的物件的同名函式。

下面來看乙個例子:

#include

#include

using namespace std;

class student

;student::student(int n, string na, float s)

void student::display()

輸出的結果為:

此時沒有將任何函式宣告為虛函式,所以在graduate類中diaplay()函式輸出時沒有pay的值,以為p指標是student類的,本身student不包括pay資料。

但如果我們想輸出pay的值,只要把student類中的display函式宣告為虛函式即可,只要把它改為virtual void display()宣告為虛函式就行,輸出的結果為:

虛函式的使用方法

1 在基類用 virtual 關鍵字宣告成員函式為虛函式。這樣就可以在派生類中重新定義此函式,為它賦予新的功能,並能方便地被呼叫 在類 外定義虛函式時,不必再加 virtual 關鍵字。2 在派生類中重新定義此函式,要求函式名 函式型別 函式引數個數和型別全部與 基類的虛函式相同,並根據派生類的需要...

乾貨 C 虛函式的使用方法

虛函式的作用 虛函式的使用方法 在什麼情況下應該宣告虛函式 使用虛函式時,有兩點要注意 只有類的成員函式才能被宣告虛函式,即虛函式只用於類的繼承層次結構中 乙個成員函式被宣告為虛函式後,在同一類族中的類就不能再定義乙個該虛函式同名 同型別和同引數同名非虛函式。使用虛函式,系統要有一定的額外空間開銷。...

什麼是C 虛函式 虛函式的作用和使用方法

在物件導向的程式設計中,經常會用到類的繼承,目的是保留基類的特性,以減少新類開發的時間。但是,從基類繼承來的某些成員函式不完全適應派生類的需要,例如在例12.2中,基類的display函式只輸出基類的資料,而派生類的display函式需要輸出派生類的資料。過去我們曾經使派生類的輸出函式與基類的輸出函...