C 中類的多型與虛函式的使用

2021-05-18 01:02:25 字數 675 閱讀 8171

類的多型特性是支援物件導向的語言最主要的特性,有過非物件導向語言開發經歷的人,通常對這一章節的內容會覺得不習慣,因為很多人錯誤的認為,支援類的封裝的語言就是支援物件導向的,其實不然,visual basic 6.0 是典型的非物件導向的開發語言,但是它的確是支援類,支援類並不能說明就是支援物件導向,能夠解決多型問題的語言,才是真正支援物件導向的開發的語言,所以務必提醒有過其它非物件導向語言基礎的讀者注意!

多型的這個概念稍微有點模糊,如果想在一開始就想用清晰用語言描述它,讓讀者能夠明白,似乎不太現實,所以我們先看如下**:

//例程1 

#include

usingnamespacestd;  

classvehicle 

voidshowmember() 

voidshowmember() 

virtualvoidshowmember()//虛函式 

virtualvoidshowmember() 

從上例**的執行結果來看,當呼叫delpn(a);後,在析構的時候,系統成功的確定了先呼叫car類的析構函式,而如果將析構函式的virtual修飾去掉,再觀察結果,會發現析構的時候,始終只呼叫了基類的析構函式,由此我們發現,多型的特性的virtual修飾,不單單對基類和派生類的普通成員函式有必要,而且對於基類和派生類的析構函式同樣重要。

C 中類的多型與虛函式的使用

c 中類的多型與虛函式的使用 類的多型特性是支援物件導向的語言最主要的特性,有過非物件導向語言開發經歷的人,通常對這一章節的內容會覺得不習慣,因為很多人錯誤的認為,支援類的封裝的語言就是支援物件導向的,其實不然,visual basic 6.0是典型的非物件導向的開發語言,但是它的確是支援類,支援類...

C 中類的多型與虛函式的使用

多型的這個概念稍微有點模糊,如果想在一開始就想用清晰用語言描述它,讓讀者能夠明白,似乎不太現實,所以我們先看如下 例程 include using namespace std class vehicle void showmember class car public vehicle void sh...

C 中類的多型與虛函式的使用

多型的這個概念稍微有點模糊,如果想在一開始就想用清晰用語言描述它,讓讀者能夠明白,似乎不太現實,所以我們先看如下 例程 include using namespace std class vehicle void showmember class car public vehicle void sh...