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

2022-05-24 12:27:10 字數 730 閱讀 8083

c++的三大特性:封裝、繼承、多型。以前學的時候自己沒去總結,記得在一本c++入門的書講得還是比較清楚。今天上網找了一下多型,找到下面這篇文章寫得比較清晰。

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

看如下**:

//例程1  

#include using namespace std;

class vehicle

void showmember()

void showmember()

virtual void showmember()//虛函式

virtual void showmember()

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

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

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

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

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

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

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