//純虛函式,=
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...