C 多型學習

2021-10-06 05:58:28 字數 906 閱讀 3390

//純虛函式,=

0是告訴編譯器函式沒有主體

virtual int area()=

0;

這個學習中有個點不懂,是關於指標的,先看**

class

shape/*

virtual int area()*

///純虛函式

virtual int area()=

0;};

class

rectangle

:public shape

;int area()}

;class

********

:public shape

;int area()}

;}

其中主函式中的那個指標一直搞不懂。

int main(){

shape* shape;

rectangle rec(10,

7); ******** ri(10,

5); shape =

&rec;

shape-

>area();

shape =

&ri;

shape-

>area();

system(

"pause");

return

0;

shape是我們定義的類,shape是例項化的物件。多型時使用指標,有兩個好處:1、實現多型。2、在函式呼叫,傳指標引數。不過物件或結構引數多龐大,使用指標傳過去就是4個位元組,如果是用物件,引數傳遞占用的資源就太大了。

shape* shape;

shape-

>area(

);

C 學習筆記之多型 多型的學習 多型學習

c 學習筆記之多型 多型的學習 多型學習 多型分為兩類 靜態多型 函式過載和運算子過載屬於靜態多型,復用函式名 動態多型 派生類和虛函式實現執行時多型 靜態多型和動態多型的區別 靜態多型的函式位址早繫結 編譯階段確定函式位址 動態多型的函式位址晚繫結 執行階段確定函式位址 動態多型滿足條件 動態多型...

C 學習之多型

多型性是物件導向程式設計中的乙個重要特徵,利用多型性可以設計和實現乙個易於拓展的系統。在c 語言中,多型性是指具有不同功能的函式可以用同乙個函式名,這樣就可以用乙個函式名呼叫不同內容的函式,發出同樣的訊息被不同型別的物件接收時,導致完全不同的行為。多型性通過聯編實現。聯編是指乙個電腦程式自身彼此關聯...

C 學習筆記 多型

引言 1.虛繼承 如果乙個派生類從多個基類派生,而這些基類又有乙個共同的基類,則在對該基類中宣告的名字進行訪問時,可能產生二義性。解決方案 虛繼承宣告,加乙個virtual 關鍵字 2.物件導向新需求 編譯器的做法不是我們期望的 如果用父類指標指向子類物件,再呼叫print 方法,均會呼叫父類中的p...