-
抽象類:包含純虛函數的類,無法實例化對象。其子類也可是抽象類。在子類中將所有純虛函數均實現后才能實例化對象。查看全部
-
純虛函數:無函數體,定義時要=0查看全部
-
沒有數據成員的類,實例化對象時,用一個內存單元標記它,表示其存在。查看全部
-
函數指針:存放函數的首地址。 虛函數表:實例化類對象時,對象中會有虛函數表指針,指向其虛函數表。類實例化出的所有對象,其虛函數表指針均指向相同的虛函數表。 若在子類中定義了與父類中同名的虛函數,子類的虛函數表中該虛函數對應的虛函數指針會覆蓋父類對應的虛函數指針。查看全部
-
3.virtual不能修飾靜態成員查看全部
-
2.virtual不能修飾普通函數查看全部
-
1.virtual不能修飾構造函數查看全部
-
使用類來拋出異常,類中可以有處理程序,這樣更加清晰的指導異常和處理異常查看全部
-
一般拋出的都是錯誤編號,利用錯誤編號來處理異常查看全部
-
異常處理catch(int &e)//e為拋出的值。查看全部
-
內存不足,主要是內存別漏導致,內存沒有回收。 try { fun()//在函數中執行到自己不想看到的分支時(還是需要自己判斷異常),使用throw xxx;拋出異常,然后使用catch(xxx)來接受異常,這里可以使用到純虛函數的繼承方式來處理各種異常來增加程序的健壯性。 } catch { }查看全部
-
越界處理查看全部
-
Virtual不能修飾普通函數,virtual修飾的函數必須是某類的成員函數,若是全局函數,則會產生錯誤;不能修飾靜態成員函數;不能是內聯函數,若修飾了,系統會忽略inline關鍵字,而使其成為純粹的虛函數;不能修飾構造函數。查看全部
-
虛析構函數能夠解決在動態多態中存在的內存泄露問題。 由于是用子類實例化的父類對象,在銷毀父類對象時,子類的析構函數不會被調用,從而導致了內存泄露問題。通過虛析構函數可以解決。查看全部
-
多態:指相同對象受到不同消息或不同對象收到相同消息時產生不同的動作。 靜態多態(早綁定):在運行前,編譯階段就已確定要調用哪個函數,很早就把函數編譯進去。 動態多態(晚綁定):不同對象,下達相同指令,產生不同動作。前提:以封裝與繼承為基礎。至少要兩個類,父類與子類,用三個類時,動態多態表現地會更明顯。 實現多態的成員函數:用virtual修飾函數,使之成為虛函數。查看全部
舉報
0/150
提交
取消