//忽略其他函式
class
shape
class
rectangle
:public shape
}class
rectangle
:public shape
}class
rectangle
:public shape
}
如果定義
rectangle rect(3
,4);shape *s;
並執行
s-
>
area
()
通過基類指標找到虛函式,會看一下在派生類中有沒有定義。
甚至可以定義乙個指向基類的指標陣列,每個元素指向基類或者派生類物件
shape *s[3]
=for
(int i=
0;i<
3;i++
)
C 不使用virtual實現多型
不使用virtual實現多型可以用成員函式指標完成。成員函式指標形式 返回型別 a 指標名 形參表 其中a是類型別,即這個指標是指向a類的成員函式的函式指標 例如 int a p int,int 這是乙個指向 a類的帶有兩個int型形參且返回值是int的成員函式 的指標,指標名是p。下面是 incl...
C 虛函式 virtual
定義虛函式 為了指明函式為虛函式,在其返回型別前面加上保留字virtual,目的是啟用動態繫結。繼承層次的根類一般都要定義虛析構函式。成員預設為非虛函式,對非虛函式的呼叫在編譯時確定。除建構函式外,任意非static成員函式都可以是虛函式。保留字virtual只在類內部的成員函式宣告 現,不能用在類...
C 虛函式virtual!!!!!!!!!!
1.虛函式出現的作用 重寫父類的方法 2.虛函式的好處 用父類的指標指向子類的例項,呼叫子類的成員函式,這種技術可以讓父類的指標有多種形態,稱之多型。我們都知道,如果子類想用父類的 子類可以選擇繼承父類。如果普通成員函式,我作為父類,只是希望子類你能夠呼叫就好,不要修改它的功能。而父類宣告成virt...