虛函式的通俗理解

2021-09-01 16:04:38 字數 558 閱讀 5467

虛函式

例子:

#includeusing namespace std;

class a

如果改為此種方式

結果將變為:

「this is a」

「this is a」

class a

{ public:

virtual void print(){cout<<"this is a"《此時的輸出結果為:

「this is a」

「this is b」

此時 將a類的函式前面加上virtual 虛函式的修飾詞,可以理解為此函式是虛函式,實際的實現要按照子類中的方式。

a類下面可以繼承很多類,他們同時擁有這個函式的時候,利用虛函式就可以很容易的區分出他們的區別。

純虛函式

是一種特殊的虛函式,宣告純虛函式的方法是:

virtual void print() = 0;

純虛函式宣告在基類中,不需要實際定義實現,定義的工作交給他的子類,而且是子類必須要實現的函式(當然實在用不到你可以空著,但函式的入口一定要有)

mkdir函式的通俗理解

mkdir的函式原型 使用時需包含 include int mkdir const char path,mode t mode 引數 path 目錄名,比如abc,var www abc等 mode 目錄許可權 返回值 返回0 表示成功,返回 1表示錯誤,並且會設定errno值。關於mode定義,可...

虛函式中「虛」的理解

1 首先回顧一下虛函式的概念 虛函式 不代表一定需要子類去實現,而是可以通過基類的指標呼叫子類的此函式。純虛函式 一定需要子類去實現它,它定義的僅僅是一組行為,擁有純虛函式的類即為抽象類,只能當做基類,無法例項化。2 為什麼叫 虛 函式呢 正是這個函式呼叫的不可 性,而這種不可 性即函式的呼叫在編譯...

虛函式的理解

includeusing namespace std class a virtual a virtual void print class b public a b void print int main 之前對虛函式一直一知半解,現在把總結的內容記錄下來。c 的物件導向的乙個特徵就是多型,即一切用...